.search{position:relative}.search__form{align-items:center;gap:var(--s-2);background:var(--c-surface);border:1px solid var(--c-control);border-radius:var(--r-2);padding:0 var(--s-2) 0 var(--s-4);transition:border-color var(--t-fast) var(--ease);display:flex;position:relative}.search__form:focus-within{border-color:var(--c-ink);box-shadow:0 0 0 1px var(--c-ink)}.search__glass{width:1.15rem;height:1.15rem;color:var(--c-ink-3);flex:none}.search__input{min-width:0;height:3rem;font-size:var(--fs-md);background:0 0;border:0;outline:none;flex:1}.search__input:focus-visible{outline:none}.search__input::placeholder{color:var(--c-ink-3)}.search__input::-webkit-search-cancel-button{appearance:none}.search--hero .search__form{padding-left:var(--s-5);border-color:var(--c-ink)}.search--hero .search__input{height:3.75rem;font-size:clamp(1rem,.9rem + .4vw,1.1875rem)}.search--hero .search__glass{width:1.35rem;height:1.35rem;color:var(--c-ink)}.search__submit{min-height:2.75rem}@media (width<=30rem){.search--hero .search__submit{display:none}.search--hero .search__form{padding-right:var(--s-3)}}.search--hero .search__panel{z-index:40;background:var(--c-raised);border:1px solid var(--c-line-strong);border-radius:var(--r-2);max-height:min(26rem,60vh);box-shadow:var(--shadow-pop);padding:var(--s-2);text-align:left;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.search--page .search__panel{margin-top:var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-2);background:var(--c-surface);padding:var(--s-2)}.search__group+.search__group{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--c-line)}.search__group-label{padding:var(--s-2) var(--s-3) var(--s-1)}.search__option{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-2);color:var(--c-ink);scroll-margin:var(--s-2);grid-template-columns:auto 1fr auto;text-decoration:none;display:grid}.search__option[aria-selected=true]{background:var(--c-sunken);box-shadow:inset 2px 0 0 var(--c-red)}.search__icon{border:1px solid var(--c-line);border-radius:var(--r-2);width:2rem;height:2rem;color:var(--c-ink-2);background:var(--c-surface);place-items:center;display:grid}.search__icon svg{width:1rem;height:1rem}.search__text{min-width:0;display:grid}.search__title{white-space:nowrap;text-overflow:ellipsis;font-weight:580;overflow:hidden}.search__title mark{color:inherit;text-decoration:underline;text-decoration-color:var(--c-red);text-underline-offset:.18em;background:0 0;text-decoration-thickness:2px}.search__sub{font-size:var(--fs-sm);color:var(--c-ink-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.search__type{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-ink-3);white-space:nowrap}.search__count{font-size:var(--fs-sm);color:var(--c-red-ink);white-space:nowrap;align-items:center;gap:.3rem;font-weight:560;display:inline-flex}.search__count svg{width:.9rem;height:.9rem}@media (width<=30rem){.search__type,.search__count{display:none}}.search__empty{gap:var(--s-1);padding:var(--s-6) var(--s-3);color:var(--c-ink-3);display:grid}.search__empty strong{color:var(--c-ink)}.search__hints{gap:var(--s-4);padding:var(--s-3) var(--s-4);border-top:1px solid var(--c-line);font-size:var(--fs-xs);color:var(--c-ink-3);display:flex}.search__hints>span{align-items:center;gap:.3rem;display:inline-flex}@media (pointer:coarse){.search__hints{display:none}}:root{color-scheme:light dark;--c-bg:light-dark(#f5f4f0,#0e0f10);--c-surface:light-dark(#fff,#16171a);--c-sunken:light-dark(#edece7,#1c1d20);--c-raised:light-dark(#fff,#1f2023);--c-overlay:light-dark(#12121252,#0009);--c-ink:light-dark(#121212,#eeede9);--c-ink-2:light-dark(#3b3b39,#c7c5bf);--c-ink-3:light-dark(#5f5e5a,#9c9a93);--c-inverse:light-dark(#f5f4f0,#0e0f10);--c-line:light-dark(#dcdad3,#2a2b2f);--c-line-strong:light-dark(#bdbab1,#3e3f44);--c-control:light-dark(#8e8c85,#6f6e69);--c-red:light-dark(#d52b1e,#e8483b);--c-red-ink:light-dark(#b5221a,#ff7a6b);--c-red-fill:light-dark(#d52b1e,#d63a2e);--c-on-red:#fff;--c-red-tint:light-dark(#fbecea,#2a1715);--c-red-line:light-dark(#f0c4bf,#5a2621);--c-pos:light-dark(#1e6b47,#5fc08f);--c-pos-tint:light-dark(#e6f2ec,#12261c);--c-focus:var(--c-red);--font-sans:"Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-micro:.6875rem;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1.0625rem;--fs-lg:1.25rem;--fs-xl:clamp(1.375rem, 1.2rem + .6vw, 1.625rem);--fs-2xl:clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);--fs-3xl:clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem);--fs-display:clamp(2.875rem, 1.4rem + 6.2vw, 7rem);--lh-tight:1.05;--lh-snug:1.25;--lh-body:1.6;--tracking-display:-.045em;--tracking-tight:-.025em;--tracking-label:.06em;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.25rem;--s-6:1.5rem;--s-8:2rem;--s-10:2.5rem;--s-12:3rem;--s-16:4rem;--s-20:5rem;--s-24:6rem;--section:clamp(3.5rem, 2rem + 5vw, 7rem);--container:82.5rem;--container-narrow:46rem;--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--grid-gap:clamp(.75rem, .5rem + 1vw, 1.5rem);--header-h:4rem;--r-1:2px;--r-2:4px;--r-3:6px;--shadow-pop:0 1px 2px #0000000f, 0 12px 32px -8px light-dark(#0000002e,#0009);--ease:cubic-bezier(.2, 0, 0, 1);--t-fast:.12s;--t-med:.2s}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-opsz-normal.BwkfbSeq.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-opsz-normal.DpK-iCPk.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:96.875%;descent-override:24.15%;line-gap-override:0%;size-adjust:107.12%}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s-4));hanging-punctuation:first last}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--c-bg);min-height:100dvh;color:var(--c-ink);font-family:"Inter Variable", "Inter Fallback", var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-body);font-optical-sizing:auto;font-feature-settings:"cv05" 1, "calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;display:flex}main{flex:1}img,svg,video{max-width:100%;display:block}img{height:auto}input,button,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}:where(h1,h2,h3,h4){font-weight:640;line-height:var(--lh-snug);letter-spacing:var(--tracking-tight);text-wrap:balance}p,li,dd{text-wrap:pretty}ul[role=list],ol[role=list]{padding:0;list-style:none}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}:where(a:not([class])){color:var(--c-ink);text-decoration-color:var(--c-line-strong);transition:text-decoration-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease)}:where(a:not([class])):hover{color:var(--c-red-ink);text-decoration-color:currentColor}::selection{background:var(--c-red-fill);color:var(--c-on-red)}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:var(--r-1)}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.container--narrow{max-width:calc(var(--container-narrow) + 2 * var(--gutter))}.section{padding-block:var(--section)}.section+.section{padding-top:0}.phead+.section{padding-top:var(--s-10)}.stack>*+*{margin-top:var(--stack,var(--s-4))}.grid-cards{gap:var(--grid-gap);grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--min,17.5rem)), 1fr));display:grid}.grid-cards--sm{--min:15rem}.grid-cards--lg{--min:20rem}.grid-cards>li{min-width:0;display:flex}.grid-cards>li>*{flex:1;min-width:0}@media (width<=40rem){.grid-cards--2up{gap:var(--s-2);grid-template-columns:repeat(2,minmax(0,1fr))}.rail{gap:var(--s-3);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter) var(--s-2);scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:min(85%,20rem);grid-auto-flow:column;display:grid;overflow-x:auto}.rail>*{scroll-snap-align:start}}.rule{border:0;border-top:1px solid var(--c-line)}.display{font-size:var(--fs-display);letter-spacing:var(--tracking-display);font-weight:660;line-height:.96}.h1{font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:var(--tracking-display);font-weight:650}.h2{font-size:var(--fs-2xl);letter-spacing:-.035em;font-weight:640;line-height:1.12}.h3{font-size:var(--fs-lg);letter-spacing:-.02em}.lead{font-size:var(--fs-md);color:var(--c-ink-2);max-width:62ch;line-height:1.55}.label{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-ink-3);font-weight:500;line-height:1.4}.mono{font-family:var(--font-mono);font-size:.92em}.muted{color:var(--c-ink-3)}.tnum{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.no-js .js-only,.js .no-js-only,[hidden]{display:none!important}.prose{font-size:var(--fs-md);color:var(--c-ink-2);max-width:68ch;line-height:1.65}.prose>*+*{margin-top:1em}.prose :where(h2){font-size:var(--fs-xl);color:var(--c-ink);margin-top:2.2em}.prose :where(h3){font-size:var(--fs-lg);color:var(--c-ink);margin-top:1.8em}.prose :where(h2+*,h3+*){margin-top:.6em}.prose :where(ul,ol){padding-left:1.25em}.prose :where(li+li){margin-top:.35em}.prose :where(li)::marker{color:var(--c-ink-3)}.prose :where(strong){color:var(--c-ink);font-weight:600}.prose :where(code){font-family:var(--font-mono);background:var(--c-sunken);border-radius:var(--r-1);padding:.1em .35em;font-size:.88em}.prose :where(pre){font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--c-sunken);border:1px solid var(--c-line);padding:var(--s-4);border-radius:var(--r-2);line-height:1.6;overflow-x:auto}.prose :where(pre code){background:0 0;padding:0}.prose :where(blockquote){border-left:2px solid var(--c-red);padding-left:var(--s-4);color:var(--c-ink)}.prose :where(table){border-collapse:collapse;width:100%;font-size:var(--fs-base)}.prose :where(th,td){text-align:left;vertical-align:top;padding:var(--s-2) var(--s-3) var(--s-2) 0;border-bottom:1px solid var(--c-line)}.prose :where(th){color:var(--c-ink);font-weight:600}.eml:empty:before{content:attr(data-u) "@" attr(data-d)}.btn{--btn-bg:var(--c-surface);--btn-fg:var(--c-ink);--btn-border:var(--c-control);justify-content:center;align-items:center;gap:var(--s-2);min-height:2.5rem;padding:0 var(--s-4);border:1px solid var(--btn-border);border-radius:var(--r-2);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--fs-base);white-space:nowrap;transition:background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);font-weight:560;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{--btn-border:var(--c-ink)}.btn svg{flex:none;width:1.05em;height:1.05em}.btn--primary{--btn-bg:var(--c-ink);--btn-fg:var(--c-inverse);--btn-border:var(--c-ink)}.btn--primary:hover{--btn-bg:var(--c-red-fill);--btn-border:var(--c-red-fill);--btn-fg:var(--c-on-red)}.btn--ghost{--btn-bg:transparent;--btn-border:transparent}.btn--ghost:hover{--btn-bg:var(--c-sunken);--btn-border:transparent}.btn--lg{min-height:3rem;padding:0 var(--s-6);font-size:var(--fs-md)}.btn--sm{min-height:2rem;padding:0 var(--s-3);font-size:var(--fs-sm)}.icon-btn{border-radius:var(--r-2);width:2.25rem;height:2.25rem;color:var(--c-ink-2);transition:background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);place-items:center;display:inline-grid}.icon-btn:hover{background:var(--c-sunken);color:var(--c-ink)}.icon-btn svg{width:1.15rem;height:1.15rem}.icon-btn[aria-pressed=true]{color:var(--c-red)}.icon-btn[aria-pressed=true] svg{fill:currentColor}.arrow-link{color:var(--c-ink);align-items:center;gap:.4em;font-weight:560;text-decoration:none;display:inline-flex}.arrow-link svg{width:1em;height:1em;transition:transform var(--t-fast) var(--ease)}.arrow-link:hover{color:var(--c-red-ink)}.arrow-link:hover svg{transform:translate(3px)}.input,.select{width:100%;min-height:2.5rem;padding:0 var(--s-3);background:var(--c-surface);border:1px solid var(--c-control);border-radius:var(--r-2);font-size:var(--fs-base);transition:border-color var(--t-fast) var(--ease)}.input:hover,.select:hover{border-color:var(--c-ink)}.input:focus-visible,.select:focus-visible{outline-offset:0;border-color:var(--c-ink)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.textarea{min-height:6rem;padding:var(--s-2) var(--s-3);resize:vertical}.field{gap:var(--s-1);display:grid}.field__label{font-size:var(--fs-sm);font-weight:560}.field__hint{font-size:var(--fs-xs);color:var(--c-ink-3)}.check{align-items:center;gap:var(--s-2);min-height:2rem;font-size:var(--fs-base);cursor:pointer;display:flex}.check input{width:1rem;height:1rem;accent-color:var(--c-ink);flex:none;margin:0}.check__count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-ink-3);margin-left:auto}.chip{align-items:center;gap:var(--s-2);min-height:2.25rem;padding:0 var(--s-3);border:1px solid var(--c-control);border-radius:var(--r-2);background:var(--c-surface);font-size:var(--fs-sm);white-space:nowrap;transition:background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);flex:none;font-weight:540;display:inline-flex}.chip:hover{border-color:var(--c-ink)}.chip svg{width:.95rem;height:.95rem}.chip[aria-pressed=true]{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-inverse)}.chip__n{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--c-ink-3)}.chip[aria-pressed=true] .chip__n{color:inherit;opacity:.7}.chip[data-zero]:not([aria-pressed=true]),.check[data-zero]{opacity:.5}.chip__count{font-family:var(--font-mono);font-size:var(--fs-micro);border-radius:var(--r-1);background:var(--c-red-fill);min-width:1.25rem;color:var(--c-on-red);text-align:center;padding:.05rem .3rem}.kbd{border:1px solid var(--c-line-strong);border-radius:var(--r-1);font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--c-ink-3);background:var(--c-surface);border-bottom-width:2px;align-items:center;gap:.15em;padding:.1rem .35rem;line-height:1.3;display:inline-flex}.cross{background:var(--c-red);clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%);flex:none;width:.62em;height:.62em;display:inline-block}.badges{align-items:center;gap:var(--s-1);flex-wrap:wrap;padding:0;list-style:none;display:flex}.badges>li{display:flex}.badge{border:1px solid var(--c-line-strong);border-radius:var(--r-1);background:var(--c-surface);min-height:1.5rem;font-size:var(--fs-xs);color:var(--c-ink-2);white-space:nowrap;align-items:center;gap:.4em;padding:0 .5rem;font-weight:540;line-height:1;display:inline-flex;position:relative}.badge--swiss{border-color:var(--c-red-line);background:var(--c-red-tint);color:var(--c-ink)}.badge--swiss .cross{width:.6rem;height:.6rem}.badge--neutral:before{content:"";background:var(--c-ink-3);width:.35rem;height:.35rem}.badge--new{border-color:var(--c-ink);background:var(--c-ink);color:var(--c-inverse);font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--tracking-label)}.has-tip{position:relative}.tip{z-index:30;width:max-content;max-width:min(17rem,80vw);padding:var(--s-2) var(--s-3);border-radius:var(--r-2);background:var(--c-ink);color:var(--c-inverse);font-size:var(--fs-xs);white-space:normal;text-align:left;pointer-events:none;opacity:0;transition:opacity var(--t-fast) var(--ease), translate var(--t-fast) var(--ease);font-weight:450;line-height:1.45;position:absolute;bottom:calc(100% + 8px);left:0;translate:0 4px}.has-tip:hover>.tip,.has-tip:focus-visible>.tip,.has-tip:focus-within>.tip{opacity:1;translate:0}.footprint{align-items:center;gap:3px;display:inline-flex}.footprint__cell{border:1px solid var(--c-control);background:0 0;width:.6rem;height:.6rem}.footprint--lg .footprint__cell{width:.875rem;height:.875rem}.footprint__cell[data-state=yes]{background:var(--c-red);border-color:var(--c-red)}.footprint__cell[data-state=partial]{border-color:var(--c-red);background:linear-gradient(135deg, var(--c-red) 50%, transparent 50%)}.footprint__cell[data-state=no]{border-color:var(--c-control)}.footprint__cell[data-state=unknown]{border-style:dashed;border-color:var(--c-line-strong)}.footprint[data-fp]{z-index:2;cursor:help;margin:-3px;padding:3px;position:relative}.fp-tip{z-index:90;width:15rem;padding:var(--s-3) var(--s-4);border-radius:var(--r-2);background:var(--c-ink);color:var(--c-inverse);font-size:var(--fs-xs);box-shadow:var(--shadow-pop);pointer-events:none;line-height:1.4;position:fixed}.fp-tip ul{gap:.3rem;padding:0;list-style:none;display:grid}.fp-tip__title{margin-bottom:var(--s-2);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;opacity:.7}.fp-tip__row{align-items:center;gap:var(--s-2);opacity:.75;grid-template-columns:auto 1fr auto;display:grid}.fp-tip__row.is-active{opacity:1;font-weight:600}.fp-tip .footprint__cell{border-color:color-mix(in srgb, var(--c-inverse) 55%, transparent)}.fp-tip .footprint__cell[data-state=yes],.fp-tip .footprint__cell[data-state=partial]{border-color:var(--c-red)}.fp-tip__state{font-family:var(--font-mono);font-size:var(--fs-micro)}.fp-tip__q{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid color-mix(in srgb, var(--c-inverse) 25%, transparent);opacity:.85}.state{color:var(--c-ink);align-items:center;gap:.45em;font-weight:520;display:inline-flex}.state:before{content:"";border:1.5px solid;flex:none;width:.55rem;height:.55rem}.state[data-state=yes]:before{background:var(--c-pos);border-color:var(--c-pos)}.state[data-state=partial]:before,.state[data-state=optional]:before{border-color:var(--c-pos);background:linear-gradient(135deg, var(--c-pos) 50%, transparent 50%)}.state[data-state=no]{color:var(--c-ink-2)}.state[data-state=no]:before{border-color:var(--c-ink-3)}.state[data-state=unknown]{color:var(--c-ink-3);font-weight:450}.state[data-state=unknown]:before{border-style:dashed;border-color:var(--c-ink-3)}.basis{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.02em;color:var(--c-ink-3);text-transform:uppercase;white-space:nowrap;align-items:center;gap:.35em;display:inline-flex}.basis[data-basis=verified]{color:var(--c-pos)}.logo-tile{--size:2.75rem;width:var(--size);height:var(--size);border:1px solid var(--c-line);border-radius:var(--r-2);background:var(--c-surface);flex:none;place-items:center;display:grid;overflow:hidden}.logo-tile img{object-fit:contain;width:72%;height:72%}.logo-tile--img{background:#fff}.logo-tile--img img{object-fit:cover;width:100%;height:100%}.logo-tile--mono{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-inverse);font-size:calc(var(--size) * .38);letter-spacing:-.04em;font-weight:650;line-height:1}.logo-tile--sm{--size:2rem}.logo-tile--lg{--size:4.5rem}.pcard{gap:var(--s-3);min-width:0;padding:var(--s-5);border:1px solid var(--c-line);border-radius:var(--r-2);background:var(--c-surface);transition:border-color var(--t-fast) var(--ease);flex-direction:column;display:flex;position:relative}.pcard:before{content:"";background:var(--c-red);border-radius:var(--r-2) var(--r-2) 0 0;transform-origin:0;height:2px;transition:transform var(--t-med) var(--ease);position:absolute;inset:-1px -1px auto;transform:scaleX(0)}.pcard:hover,.pcard:focus-within{border-color:var(--c-line-strong)}.pcard:hover:before,.pcard:focus-within:before{transform:scaleX(1)}.pcard__head{align-items:flex-start;gap:var(--s-3);display:flex}.pcard__titles{flex:1;min-width:0}.pcard__name{font-size:var(--fs-md);letter-spacing:-.02em;font-weight:640;line-height:1.25}.pcard__link{color:inherit;text-decoration:none}.pcard__link:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.pcard__link:focus-visible{outline:none}.pcard__link:focus-visible:after{outline:2px solid var(--c-focus);outline-offset:2px}.pcard__meta{font-size:var(--fs-sm);color:var(--c-ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;overflow:hidden}.pcard__actions{z-index:2;margin:-.4rem -.5rem 0 0;display:flex;position:relative}.pcard__tagline{font-size:var(--fs-base);color:var(--c-ink-2);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.pcard__class{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--c-ink-2);font-weight:540;display:flex}.pcard__foot{justify-content:space-between;align-items:center;gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--c-line);font-size:var(--fs-sm);color:var(--c-ink-3);margin-top:auto;display:flex}.pcard__cat{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.pcard__tier{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-ink-2)}.pcard__foot svg{width:1rem;height:1rem;color:var(--c-ink);transition:transform var(--t-fast) var(--ease)}.pcard:hover .pcard__foot svg{color:var(--c-red);transform:translate(3px)}.pcard .badges{z-index:2;position:relative}.prow{align-items:center;gap:var(--s-3) var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--c-line);grid-template-columns:auto 1fr auto;display:grid;position:relative}.prow__body{min-width:0}.prow__name{letter-spacing:-.015em;font-weight:620}.prow__link{color:inherit;text-decoration:none}.prow__link:after{content:"";position:absolute;inset:0}.prow:hover .prow__name{color:var(--c-red-ink)}.prow__desc{font-size:var(--fs-sm);color:var(--c-ink-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.prow__side{align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--c-ink-3);display:flex}.prow__side>*{z-index:1;position:relative}.empty{justify-items:start;gap:var(--s-3);padding:var(--s-10) var(--s-6);border:1px dashed var(--c-line-strong);border-radius:var(--r-2);background:var(--c-surface);display:grid}.empty__title{font-size:var(--fs-lg);letter-spacing:-.015em;font-weight:620}.empty__text{max-width:52ch;color:var(--c-ink-3)}.toast{z-index:80;left:50%;bottom:var(--s-6);padding:var(--s-2) var(--s-4);border-radius:var(--r-2);background:var(--c-ink);color:var(--c-inverse);font-size:var(--fs-sm);box-shadow:var(--shadow-pop);font-weight:540;position:fixed;translate:-50%}.tray[data-astro-cid-44iz6cyy]{z-index:45;left:50%;bottom:max(var(--s-4), env(safe-area-inset-bottom));align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);border:1px solid var(--c-ink);border-radius:var(--r-2);background:var(--c-raised);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);display:flex;position:fixed;translate:-50%}.tray__label[data-astro-cid-44iz6cyy]{align-items:center;gap:var(--s-2);margin-right:var(--s-2);font-weight:560;display:inline-flex}.tray__label[data-astro-cid-44iz6cyy] svg[data-astro-cid-44iz6cyy]{width:1rem;height:1rem}.tray__count[data-astro-cid-44iz6cyy]{border-radius:var(--r-1);background:var(--c-red-fill);min-width:1.25rem;height:1.25rem;color:var(--c-on-red);font-family:var(--font-mono);font-size:var(--fs-micro);place-items:center;display:inline-grid}body:has(.compare-page) .tray[data-astro-cid-44iz6cyy]{display:none}body:has(#compare-tray:not([hidden])){padding-bottom:4.5rem}.logo[data-astro-cid-f7espo7c]{color:var(--c-ink);align-items:center;gap:.6rem;display:inline-flex}.logo__mark[data-astro-cid-f7espo7c]{flex:none}.logo__cross[data-astro-cid-f7espo7c]{fill:var(--c-red)}.logo--mono[data-astro-cid-f7espo7c] .logo__cross[data-astro-cid-f7espo7c]{fill:currentColor}.logo__word[data-astro-cid-f7espo7c]{letter-spacing:-.035em;white-space:nowrap;font-size:1.0625rem;font-weight:660;line-height:1}.footer[data-astro-cid-jo6i4kqk]{margin-top:var(--section);border-top:1px solid var(--c-ink);background:var(--c-bg);font-size:var(--fs-sm)}.footer__top[data-astro-cid-jo6i4kqk]{gap:var(--s-8) var(--grid-gap);padding-block:var(--s-12);grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));display:grid}.footer__brand[data-astro-cid-jo6i4kqk]{align-content:start;justify-items:start;gap:var(--s-4);max-width:26rem;display:grid}.footer__mission[data-astro-cid-jo6i4kqk]{color:var(--c-ink-2);font-size:var(--fs-base)}.footer__col[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{margin-bottom:var(--s-3)}.footer__col[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]+li[data-astro-cid-jo6i4kqk]{margin-top:var(--s-2)}.footer__col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{overflow-wrap:anywhere;color:var(--c-ink-2);text-decoration:none}.footer__col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--c-red-ink);text-decoration:underline}.footer__bottom[data-astro-cid-jo6i4kqk]{gap:var(--s-2);padding-block:var(--s-6) var(--s-8);border-top:1px solid var(--c-line);color:var(--c-ink-3);display:grid}.footer__meta[data-astro-cid-jo6i4kqk]{gap:var(--s-2) var(--s-6);font-family:var(--font-mono);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.footer__hosting[data-astro-cid-jo6i4kqk]{color:inherit;text-decoration:underline;text-decoration-color:var(--c-line-strong);text-underline-offset:.2em}.footer__hosting[data-astro-cid-jo6i4kqk]:hover{color:var(--c-red-ink)}.footer__private[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--s-2);display:inline-flex}.footer__disclaimer[data-astro-cid-jo6i4kqk]{font-size:var(--fs-xs)}@media (width<=64rem){.footer__top[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(4,minmax(0,1fr))}.footer__brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}@media (width<=30rem){.footer__top[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}}.theme-toggle[aria-pressed=true] .theme-toggle__moon,.theme-toggle[aria-pressed=false] .theme-toggle__sun{display:none}.theme-toggle.icon-btn[aria-pressed=true]{color:var(--c-ink-2)}.theme-toggle.icon-btn[aria-pressed=true] svg{fill:none}.header[data-astro-cid-nen7h5rs]{z-index:50;background:var(--c-bg);border-bottom:1px solid var(--c-line);position:sticky;top:0}.header__inner[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--s-6);height:var(--header-h);display:flex}.header__brand[data-astro-cid-nen7h5rs]{flex:none;text-decoration:none}.header__nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:var(--s-1);display:flex}.header__link[data-astro-cid-nen7h5rs]{height:var(--header-h);padding:0 var(--s-3);font-size:var(--fs-base);white-space:nowrap;color:var(--c-ink-2);transition:color var(--t-fast) var(--ease);align-items:center;font-weight:520;text-decoration:none;display:inline-flex;position:relative}.header__link[data-astro-cid-nen7h5rs]:hover,.header__link[data-astro-cid-nen7h5rs][aria-current]{color:var(--c-ink)}.header__link[data-astro-cid-nen7h5rs][aria-current]:after{content:"";left:var(--s-3);right:var(--s-3);background:var(--c-red);height:2px;position:absolute;bottom:-1px}.header__tools[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--s-1);margin-left:auto;display:flex}.header__lang[data-astro-cid-nen7h5rs]{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);font-weight:600;text-decoration:none}.header__search[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--s-2);width:15rem;height:2.25rem;margin-right:var(--s-2);padding:0 var(--s-2) 0 var(--s-3);border:1px solid var(--c-control);border-radius:var(--r-2);background:var(--c-surface);color:var(--c-ink-3);font-size:var(--fs-sm);transition:border-color var(--t-fast) var(--ease);text-decoration:none;display:flex}.header__search[data-astro-cid-nen7h5rs]:hover{border-color:var(--c-ink);color:var(--c-ink-2)}.header__search[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:1rem;height:1rem}.header__search-text[data-astro-cid-nen7h5rs]{flex:1}.header__fav[data-astro-cid-nen7h5rs]{position:relative}.header__fav-count[data-astro-cid-nen7h5rs]{border-radius:var(--r-1);background:var(--c-red-fill);min-width:1rem;height:1rem;color:var(--c-on-red);font-family:var(--font-mono);text-align:center;padding:0 .2rem;font-size:.625rem;line-height:1rem;position:absolute;top:2px;right:1px}.header__search-icon[data-astro-cid-nen7h5rs],.header__menu[data-astro-cid-nen7h5rs]{display:none}@media (width<=78rem){.header__search[data-astro-cid-nen7h5rs]{width:auto}.header__search[data-astro-cid-nen7h5rs] .kbd[data-astro-cid-nen7h5rs]{display:none}.header__search-text[data-astro-cid-nen7h5rs]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header__search[data-astro-cid-nen7h5rs]{width:2.25rem;color:var(--c-ink-2);background:0 0;border:0;justify-content:center;margin:0;padding:0}.header__search[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:1.15rem;height:1.15rem}}@media (width<=64rem){.header__nav[data-astro-cid-nen7h5rs]{display:none}.js .header__menu[data-astro-cid-nen7h5rs]{display:inline-grid}.header__tools[data-astro-cid-nen7h5rs] .theme-toggle{display:none}.no-js .header__nav[data-astro-cid-nen7h5rs]{display:block;overflow-x:auto}.no-js .header__brand[data-astro-cid-nen7h5rs] .logo__word{display:none}}.menu[data-astro-cid-nen7h5rs]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0 var(--gutter) var(--s-8);background:var(--c-bg);color:var(--c-ink);border:0;margin:0}.menu[data-astro-cid-nen7h5rs][open]{flex-direction:column;display:flex}.menu[data-astro-cid-nen7h5rs]::backdrop{background:var(--c-overlay)}.menu__head[data-astro-cid-nen7h5rs]{height:var(--header-h);border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:center;display:flex}.menu__list[data-astro-cid-nen7h5rs]{margin-top:var(--s-4)}.menu__link[data-astro-cid-nen7h5rs]{align-items:baseline;gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--c-line);font-size:var(--fs-2xl);letter-spacing:-.03em;font-weight:620;text-decoration:none;display:flex}.menu__link[data-astro-cid-nen7h5rs][aria-current]{color:var(--c-red-ink)}.menu__secondary[data-astro-cid-nen7h5rs]{gap:var(--s-2);padding-top:var(--s-8);flex-wrap:wrap;margin-top:auto;display:flex}.search-dialog{border:1px solid var(--c-line-strong);border-radius:var(--r-3);background:var(--c-raised);width:min(42rem,100vw - 2rem);max-height:min(36rem,100dvh - 4rem);color:var(--c-ink);box-shadow:var(--shadow-pop);margin:clamp(1rem,10vh,6rem) auto auto;padding:0;overflow:hidden}.search-dialog[open]{flex-direction:column;display:flex}.search-dialog::backdrop{background:var(--c-overlay)}.search-dialog .search{flex-direction:column;flex:1;min-height:0;display:flex}.search-dialog .search__form{border:0;border-bottom:1px solid var(--c-line);box-shadow:none;padding-right:var(--s-4);border-radius:0}.search-dialog .search__input{height:3.5rem}.search-dialog .search__panel{flex-direction:column;flex:1;min-height:0;display:flex}.search-dialog .search__list{padding:var(--s-2);flex:1;overflow-y:auto}.search__esc{cursor:pointer}@media (prefers-reduced-motion:no-preference){.search-dialog[open]{animation:dialog-in var(--t-med) var(--ease)}@keyframes dialog-in{0%{opacity:0;translate:0 -6px}}}@media (width<=40rem){.search-dialog{border:0;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}}.skip-link{z-index:100;top:var(--s-2);left:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--c-ink);color:var(--c-inverse);border-radius:var(--r-2);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}main:focus{outline:none}
