:root{--bg:#f3f3f3;--surface:#fff;--layer:#fafafa;--layer-2:#f5f5f5;--hover:#f0f0f0;--press:#eaeaea;--text:#1b1b1b;--text-2:#424242;--muted:#616161;--faint:#6e6e6e;--line:#e5e5e5;--line-2:#d1d1d1;--accent:#005fb8;--accent-hover:#0a6abf;--accent-press:#1975c5;--accent-text:#003e92;--accent-soft:#eaf3fc;--on-accent:#fff;--go:#0f7b0f;--go-hover:#138a13;--go-soft:#e7f3e7;--on-go:#fff;--ok:#0f7b0f;--warn:#9d5d00;--warn-soft:#fff4ce;--bad:#c42b1c;--bad-soft:#fde7e9;--star:#e39a00;--star-off:#d6d6d6;--code-bg:#1e1e1e;--code-text:#d4d4d4;--code-dim:#858585;--code-key:#9cdcfe;--font:"Segoe UI Variable Text", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Roboto, "Noto Sans", Arial, sans-serif;--font-display:"Segoe UI Variable Display", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Roboto, Arial, sans-serif;--mono:"Cascadia Mono", "Cascadia Code", Consolas, "SF Mono", ui-monospace, "Liberation Mono", monospace;--r:4px;--r2:8px;--shadow:0 2px 4px #0000000a, 0 0 1px #0000001a;--shadow-2:0 8px 16px #0000001a, 0 0 1px #0000001f;--hdr:56px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1c1c1c;--surface:#272727;--layer:#2c2c2c;--layer-2:#303030;--hover:#353535;--press:#3a3a3a;--text:#fff;--text-2:#d6d6d6;--muted:#ababab;--faint:#a0a0a0;--line:#3a3a3a;--line-2:#4a4a4a;--accent:#60cdff;--accent-hover:#5ab8e6;--accent-press:#52a4cc;--accent-text:#99ebff;--accent-soft:#1f3445;--on-accent:#000;--go:#6ccb5f;--go-hover:#7dd470;--go-soft:#1e3320;--on-go:#000;--ok:#6ccb5f;--warn:#fce100;--warn-soft:#3a3520;--bad:#ff99a4;--bad-soft:#442726;--star:#ffb900;--star-off:#4a4a4a;--shadow:0 2px 4px #00000042, 0 0 1px #00000080;--shadow-2:0 8px 16px #0006, 0 0 1px #0009;color-scheme:dark}}:root[data-theme=dark]{--bg:#1c1c1c;--surface:#272727;--layer:#2c2c2c;--layer-2:#303030;--hover:#353535;--press:#3a3a3a;--text:#fff;--text-2:#d6d6d6;--muted:#ababab;--faint:#a0a0a0;--line:#3a3a3a;--line-2:#4a4a4a;--accent:#60cdff;--accent-hover:#5ab8e6;--accent-press:#52a4cc;--accent-text:#99ebff;--accent-soft:#1f3445;--on-accent:#000;--go:#6ccb5f;--go-hover:#7dd470;--go-soft:#1e3320;--on-go:#000;--ok:#6ccb5f;--warn:#fce100;--warn-soft:#3a3520;--bad:#ff99a4;--bad-soft:#442726;--star:#ffb900;--star-off:#4a4a4a;--shadow:0 2px 4px #00000042, 0 0 1px #00000080;--shadow-2:0 8px 16px #0006, 0 0 1px #0009;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 52px)}body{background:var(--bg);color:var(--text);font:400 .9375rem/1.55 var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}img,svg{max-width:100%}img{height:auto}a{color:var(--accent-text);text-decoration:none}:root:not([data-theme=light]) a{color:var(--accent-text)}a:hover{text-underline-offset:2px;text-decoration:underline}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:2px}h1,h2,h3{font-family:var(--font-display);overflow-wrap:break-word;margin:0 0 .5em;font-weight:600;line-height:1.25}h1{letter-spacing:-.01em;font-size:clamp(1.5rem,1.25rem + 1vw,1.875rem)}h2{font-size:1.25rem}h3{font-size:1rem}p{margin:0 0 .9em}code,kbd,.mono{font-family:var(--mono);font-size:.875em}.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:16px}@media (width>=720px){.wrap{padding-inline:24px}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{inset-inline-start:8px;z-index:100;background:var(--accent);color:var(--on-accent);border-radius:var(--r);padding:8px 14px;position:absolute;top:-60px}.skip:focus{top:8px}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.8125rem}.tiny{font-size:.75rem}.ic{vertical-align:-.15em;flex:none}.nowrap{white-space:nowrap}.num{font-variant-numeric:tabular-nums}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:lang(ja){--font:"Yu Gothic UI", "Meiryo UI", "Segoe UI", system-ui, sans-serif;--font-display:"Yu Gothic UI", "Meiryo UI", "Segoe UI", system-ui, sans-serif}:lang(zh){--font:"Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Segoe UI", system-ui, sans-serif;--font-display:"Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Segoe UI", system-ui, sans-serif}:lang(zh-Hant){--font:"Microsoft JhengHei UI", "Microsoft JhengHei", "PingFang TC", "Segoe UI", system-ui, sans-serif;--font-display:"Microsoft JhengHei UI", "Microsoft JhengHei", "PingFang TC", "Segoe UI", system-ui, sans-serif}:lang(ko){--font:"Malgun Gothic", "Apple SD Gothic Neo", "Segoe UI", system-ui, sans-serif;--font-display:"Malgun Gothic", "Apple SD Gothic Neo", "Segoe UI", system-ui, sans-serif}:lang(ar){--font:"Segoe UI", "Tahoma", "Noto Naskh Arabic", system-ui, sans-serif;--font-display:"Segoe UI", "Tahoma", system-ui, sans-serif}:lang(he){--font:"Segoe UI", "Arial Hebrew", "Noto Sans Hebrew", system-ui, sans-serif;--font-display:"Segoe UI", "Arial Hebrew", system-ui, sans-serif}:lang(fa),:lang(ur){--font:"Segoe UI", "Tahoma", "Noto Naskh Arabic", system-ui, sans-serif;--font-display:"Segoe UI", "Tahoma", system-ui, sans-serif}:lang(th){--font:"Leelawadee UI", "Leelawadee", "Thonburi", "Noto Sans Thai", "Segoe UI", system-ui, sans-serif;--font-display:"Leelawadee UI", "Leelawadee", "Noto Sans Thai", "Segoe UI", system-ui, sans-serif}:lang(ka),:lang(hy){--font:"Segoe UI", "Sylfaen", "Noto Sans Georgian", "Noto Sans Armenian", system-ui, sans-serif;--font-display:"Segoe UI", "Sylfaen", system-ui, sans-serif}:lang(am){--font:"Nyala", "Ebrima", "Noto Sans Ethiopic", "Segoe UI", system-ui, sans-serif;--font-display:"Nyala", "Ebrima", "Noto Sans Ethiopic", "Segoe UI", system-ui, sans-serif}:lang(my){--font:"Myanmar Text", "Noto Sans Myanmar", "Segoe UI", system-ui, sans-serif;--font-display:"Myanmar Text", "Noto Sans Myanmar", "Segoe UI", system-ui, sans-serif}:lang(ps){--font:"Segoe UI", "Tahoma", "Noto Naskh Arabic", system-ui, sans-serif;--font-display:"Segoe UI", "Tahoma", system-ui, sans-serif}:lang(hi),:lang(ta),:lang(bn),:lang(mr),:lang(ne),:lang(te),:lang(pa){--font:"Nirmala UI", "Kohinoor Devanagari", "Noto Sans Devanagari", "Noto Sans Tamil", "Noto Sans Bengali", "Segoe UI", system-ui, sans-serif;--font-display:"Nirmala UI", "Noto Sans Devanagari", "Noto Sans Tamil", "Noto Sans Bengali", "Segoe UI", system-ui, sans-serif}:lang(ja) body,:lang(zh) body,:lang(ko) body,:lang(th) body,:lang(hi) body,:lang(ta) body,:lang(bn) body,:lang(mr) body,:lang(ne) body,:lang(te) body,:lang(pa) body,:lang(my) body,:lang(am) body{line-height:1.7}[dir=rtl] .crumbs li+li:before{content:"‹"}[dir=rtl] .top li:before{text-align:start}code,pre,.mono,.hash,.ext,.cmd,.ver-diff{direction:ltr;unicode-bidi:isolate}.hdr{z-index:40;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;box-shadow:0 1px 2px #00000008}.hdr-row{height:var(--hdr);align-items:center;gap:20px;display:flex}.logo{flex:none;align-items:center;gap:10px;display:inline-flex;color:var(--text)!important;text-decoration:none!important}.logo-text{line-height:1.1;display:grid}.logo-text b{font:700 1.1875rem var(--font-display);letter-spacing:-.01em}.logo-text small{color:var(--muted);letter-spacing:.01em;margin-top:2px;font-size:.6875rem}.logo-svg{display:block}.lm-tag{fill:var(--accent)}.lm-bar{fill:var(--on-accent)}.lm-hole{fill:none;stroke:var(--on-accent)}.hdr-search{flex:1;max-width:640px}.hdr-search .sb{height:38px}.hdr-nav{flex:none;align-items:center;gap:2px;margin-inline-start:auto;display:flex}.hdr-nav>a,.hdr-icon,.lang-menu>summary{border-radius:var(--r);height:34px;font:400 .875rem var(--font);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex;color:var(--text)!important;text-decoration:none!important}.hdr-nav>a svg{color:var(--muted)}.hdr-nav>a:hover,.hdr-icon:hover,.lang-menu>summary:hover,.lang-menu[open]>summary{background:var(--hover)}.hdr-icon{width:34px;padding:0}.hdr-burger{margin-inline-start:-6px;display:none}.lang-menu{position:relative}.lang-menu>summary{user-select:none;list-style:none}.lang-menu>summary::-webkit-details-marker{display:none}.lang-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lm-chev{color:var(--muted);transition:transform .15s}.lang-menu[open] .lm-chev{transform:rotate(180deg)}.lang-pop{inset-inline-end:0;z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);width:340px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-2);padding:8px;position:absolute;top:calc(100% + 6px)}.lang-pop-h{color:var(--muted);margin:2px 8px 6px;font-size:.75rem;font-weight:600}.lang-pop ul{grid-template-columns:1fr 1fr;gap:2px;margin:0;padding:0;list-style:none;display:grid}.lang-pop a{border-radius:var(--r);align-items:center;gap:10px;padding:7px 8px;font-size:.8125rem;display:flex;color:var(--text)!important;text-decoration:none!important}.lang-pop a:hover{background:var(--hover)}.lang-pop a[aria-current]{background:var(--accent-soft);font-weight:600;color:var(--accent-text)!important}.lang-pop .lc{border:1px solid var(--line-2);min-width:26px;height:20px;font:600 .625rem var(--font);letter-spacing:.03em;color:var(--muted);border-radius:3px;place-items:center;padding:0 4px;display:inline-grid}.lang-pop a[aria-current] .lc{color:inherit;border-color:currentColor}.lang-pop .ln{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lang-pop .lk{flex:none}:root .i-sun{display:none}:root[data-theme=dark] .i-sun{display:block}:root[data-theme=dark] .i-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .i-sun{display:block}:root:not([data-theme=light]) .i-moon{display:none}}@media (width<=900px){.hide-m{display:none!important}.hdr-burger{display:inline-flex}.logo-text small{display:none}}@media (width<=640px){.hdr-row{flex-wrap:wrap;gap:8px 10px;height:auto;padding-block:8px}.hdr-search{flex-basis:100%;order:3;max-width:none}.lm-cur{display:none}.lang-pop{inset-inline:12px;width:auto;max-width:none;position:fixed;top:58px}}.catbar{z-index:35;background:var(--surface);border-bottom:1px solid var(--line);position:relative}.catbar-row{scrollbar-width:none;margin-block:0;padding-block:0;list-style:none;display:flex;overflow-x:auto}.catbar-row::-webkit-scrollbar{display:none}.catbar-row>li>a{white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 12px;font-size:.8125rem;font-weight:500;display:flex;color:var(--text-2)!important;text-decoration:none!important}.catbar-row>li>a:hover,.cb-item:hover>a{background:var(--hover);color:var(--text)!important}.catbar-row>li>a[aria-current]{border-bottom-color:var(--accent);font-weight:600;color:var(--text)!important}.catbar-row>li>a.cb-all{font-weight:600;color:var(--accent-text)!important}.mega{inset-inline:0;display:none;position:absolute;top:100%}@media (hover:hover) and (width>=901px){.mega{background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--r2) var(--r2);max-width:1240px;box-shadow:var(--shadow-2);visibility:hidden;opacity:0;border-top:0;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);margin-inline:auto;transition:opacity .12s,transform .12s,visibility 0s linear .12s;display:grid;transform:translateY(-4px)}.cb-item:hover>.mega,.cb-item:focus-within>.mega{visibility:visible;opacity:1;transition-delay:.12s,.12s,0s;transform:none}}.mega-cats{padding:16px 20px}.mega-head{font:600 .9375rem var(--font-display);align-items:center;gap:8px;margin-bottom:10px;display:flex;color:var(--text)!important}.mega-head svg{color:var(--accent)}.mega-cats ul{columns:3 170px;column-gap:20px;margin:0;padding:0;list-style:none}.mega-cats li{break-inside:avoid}.mega-cats li a{border-radius:var(--r);justify-content:space-between;gap:8px;margin-inline:-8px;padding:5px 8px;font-size:.8125rem;display:flex;color:var(--text-2)!important}.mega-cats li a:hover{background:var(--hover);text-decoration:none;color:var(--text)!important}.count{color:var(--faint);font-variant-numeric:tabular-nums;margin-inline-start:auto;font-size:.75rem}.mega-apps{background:var(--layer);border-inline-start:1px solid var(--line);border-end-end-radius:var(--r2);align-content:start;gap:2px;margin:0;padding:16px;list-style:none;display:grid}[dir=rtl] .mega-apps{border-end-end-radius:0;border-end-start-radius:var(--r2)}.mega-apps a{border-radius:var(--r);align-items:center;gap:10px;padding:6px 8px;font-size:.8125rem;display:flex;color:var(--text)!important}.mega-apps a:hover{background:var(--hover);text-decoration:none}.mega-apps img{border-radius:4px;flex:none}.mega-letter{background:var(--accent-soft);width:24px;height:24px;color:var(--accent-text);border-radius:4px;flex:none;place-items:center;font-size:.75rem;font-weight:700;display:grid}.mega-all{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.mega-all a{font-weight:600;color:var(--accent-text)!important}.popbar{background:var(--layer);border-bottom:1px solid var(--line);font-size:.75rem}.popbar-row{scrollbar-width:none;white-space:nowrap;align-items:center;gap:10px;min-height:34px;display:flex;overflow-x:auto}.popbar-row::-webkit-scrollbar{display:none}.pb-label{color:var(--muted);flex:none;font-weight:600}.popbar ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.popbar li a{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:2px 9px;display:inline-block;color:var(--text-2)!important}.popbar li a:hover{border-color:var(--line-2);text-decoration:none;color:var(--text)!important}.pb-date{color:var(--muted);flex:none;align-items:center;gap:4px;margin-inline-start:auto;padding-inline-start:12px;display:inline-flex}.drawer{background:var(--surface);width:min(340px,88vw);max-width:none;height:100dvh;max-height:none;color:var(--text);box-shadow:var(--shadow-2);border:0;margin:0;padding:0 0 24px;position:fixed;inset-block:0;inset-inline:0 auto;overflow-y:auto}.drawer::backdrop{background:#0006}.drawer-head{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:10px 12px 10px 16px;display:flex;position:sticky;top:0}.drawer-links{margin:0;padding:8px;list-style:none;display:grid}.drawer-links a,.drawer-grp summary{border-radius:var(--r);align-items:center;gap:12px;padding:10px;font-size:.9375rem;display:flex;color:var(--text)!important}.drawer-links a:hover,.drawer-grp summary:hover{background:var(--hover);text-decoration:none}.drawer-links svg,.drawer-grp summary svg{color:var(--accent)}.drawer-h{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:8px 18px 4px;font-size:.75rem;font-weight:600}.drawer-grp{margin-inline:8px}.drawer-grp summary{cursor:pointer;list-style:none}.drawer-grp summary::-webkit-details-marker{display:none}.drawer-grp ul{margin:0 0 6px;padding-block:0;padding-inline:40px 0;list-style:none;display:grid}.drawer-grp ul a{padding:7px 8px;font-size:.875rem;display:block;color:var(--text-2)!important}.sbf{position:relative}.sb{background:var(--layer);border:1px solid var(--line-2);border-bottom-color:var(--faint);border-radius:var(--r);height:34px;color:var(--muted);align-items:center;gap:8px;padding:0 4px 0 10px;display:flex}.sb:focus-within{background:var(--surface);border-bottom:2px solid var(--accent);padding-bottom:0}.sb input{min-width:0;color:var(--text);font:400 .875rem var(--font);background:0 0;border:0;outline:none;flex:1}.sb input::-webkit-search-cancel-button{display:none}.sb kbd{border:1px solid var(--line-2);min-width:22px;height:22px;color:var(--faint);border-radius:3px;place-items:center;font-size:.6875rem;display:inline-grid}.sb .btn{height:26px;min-height:26px;padding:0 12px}.sb-lg{height:44px;padding-inline-start:14px}.sb-lg input{font-size:1rem}.sb-lg .btn{height:34px;min-height:34px;padding:0 18px}.suggest{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--shadow-2);max-height:70vh;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.suggest a{border-radius:var(--r);align-items:center;gap:10px;padding:6px 8px;display:flex;color:var(--text)!important;text-decoration:none!important}.suggest li[aria-selected=true] a,.suggest a:hover{background:var(--hover)}.suggest img,.suggest .s-letter{border-radius:6px;flex:none;width:28px;height:28px}.suggest .s-letter{place-items:center;font-size:.8125rem;font-weight:600;display:grid}.suggest .s-main{min-width:0;display:grid}.suggest .s-main b{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.suggest small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.suggest .s-code{font-family:var(--mono);color:var(--faint);flex:none;margin-inline-start:auto;font-size:.75rem}.btn{border-radius:var(--r);min-height:32px;font:400 .875rem/1 var(--font);background:var(--accent);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;color:var(--on-accent)!important;text-decoration:none!important}.btn:hover{background:var(--accent-hover)}.btn:active{background:var(--accent-press)}.btn-std{background:var(--surface);border-color:var(--line-2);border-bottom-color:color-mix(in srgb, var(--line-2) 70%, var(--text) 30%);color:var(--text)!important}.btn-std:hover{background:var(--layer)}.btn-go{background:var(--go);min-height:48px;font:600 1rem/1.1 var(--font);border-radius:var(--r);padding:0 22px;color:var(--on-go)!important}.btn-go:hover{background:var(--go-hover)}.btn-go .sub{opacity:.9;margin-top:2px;font-size:.75rem;font-weight:400;display:block}.btn-go>span{text-align:start;display:grid}.btn-block{width:100%}.link-btn{color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-btn:hover{text-decoration:underline}.tag{background:var(--layer-2);color:var(--text-2);border:1px solid var(--line);white-space:nowrap;border-radius:3px;align-items:center;gap:4px;padding:1px 7px;font-size:.75rem;line-height:1.6;display:inline-flex}.tag-foss{color:var(--ok)}.tag-freeware{color:var(--accent-text)}.tag-proprietary,.tag-unknown{color:var(--muted)}.tag-new{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 35%, var(--line))}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tags>li{min-width:0;max-width:100%}.tags .tag{white-space:normal;overflow-wrap:anywhere;max-width:100%}a.tag:hover{border-color:var(--line-2);background:var(--hover);text-decoration:none}.ext{font-family:var(--mono);font-size:.8125rem}.dot{background:var(--line-2);vertical-align:.08em;border-radius:50%;width:7px;height:7px;margin-inline-end:5px;display:inline-block}.dot-ok{background:var(--ok)}.dot-bad{background:var(--bad)}.rank{color:var(--text-2);font-size:.8125rem}.rank b{color:var(--text)}.stars{vertical-align:-.12em;gap:1px;display:inline-flex}.stars svg{width:14px;height:14px}.stars .on{fill:var(--star)}.stars .off{fill:var(--star-off)}.stars-lg svg{width:20px;height:20px}.app-icon{width:var(--s,40px);height:var(--s,40px);object-fit:contain;flex:none;display:block}.app-letter{width:var(--s,40px);height:var(--s,40px);border-radius:calc(var(--s,40px) * .2);font:600 calc(var(--s,40px) * .44) var(--font-display);background:hsl(var(--h,210) 28% 92%);color:hsl(var(--h,210) 45% 32%);border:1px solid hsl(var(--h,210) 22% 85%);flex:none;place-items:center;display:grid}:root[data-theme=dark] .app-letter{background:hsl(var(--h,210) 18% 22%);color:hsl(var(--h,210) 50% 78%);border-color:hsl(var(--h,210) 15% 30%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .app-letter{background:hsl(var(--h,210) 18% 22%);color:hsl(var(--h,210) 50% 78%);border-color:hsl(var(--h,210) 15% 30%)}}.page{padding-block:16px 48px}.crumbs ol{color:var(--muted);flex-wrap:wrap;gap:2px 6px;margin:0 0 12px;padding:0;font-size:.8125rem;list-style:none;display:flex}.crumbs li+li:before{content:"›";color:var(--faint);margin-inline-end:6px}.crumbs a{color:var(--muted)!important}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2)}.sheet-pad{padding:20px}@media (width>=720px){.sheet-pad{padding:24px 28px}}.cols{align-items:start;gap:20px;display:grid}.cols>*,.cols-3>*{min-width:0}@media (width>=980px){.cols{grid-template-columns:minmax(0,1fr) 300px}}.cols-3{align-items:start;gap:20px;display:grid}@media (width>=1100px){.cols-3{grid-template-columns:220px minmax(0,1fr) 300px}}@media (width>=760px) and (width<=1099px){.cols-3{grid-template-columns:minmax(0,1fr) 280px}.cols-3>.side-left{display:none}}.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2)}.box+.box{margin-top:16px}.box-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:12px 16px;display:flex}.box-h h2,.box-h h3{margin:0;font-size:.9375rem;font-weight:600}.box-h a{font-size:.8125rem}.box-b{padding:12px 16px}.sec{border-top:1px solid var(--line);padding:22px 0}.sec:first-child{border-top:0;padding-top:4px}.sec>h2{margin-bottom:12px}.sec-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.sec-h h2{margin:0}.prose{color:var(--text-2);max-width:76ch}.prose h3{color:var(--text);margin-top:18px}.lead{color:var(--text-2);max-width:80ch;font-size:1rem}.credit{color:var(--faint);font-size:.75rem}.credit a{color:var(--muted)!important}.rows{margin:0;padding:0;list-style:none}.row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 16px;display:grid;position:relative}.row+.row{border-top:1px solid var(--line)}.row:hover{background:var(--layer)}.row .r-name{font-weight:600;color:var(--text)!important}.row .r-name:after{content:"";position:absolute;inset:0}.row .r-ver{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;margin-inline-start:6px;font-size:.8125rem;font-weight:400;display:inline-block;overflow:hidden}.row .r-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;display:block;overflow:hidden}.row .r-side{text-align:end;color:var(--muted);white-space:nowrap;justify-items:end;gap:2px;min-width:0;max-width:46vw;font-size:.75rem;display:grid}.row .r-side>*{text-overflow:ellipsis;max-width:100%;overflow:hidden}.row .r-side .tag{font-size:.6875rem}.ver-diff{font-family:var(--mono);font-size:.75rem}.ver-diff s{color:var(--faint)}.ver-diff b{color:var(--ok);font-weight:600}.top{counter-reset:top;margin:0;padding:0;list-style:none}.top li{counter-increment:top;grid-template-columns:22px auto minmax(0,1fr);align-items:center;gap:10px;padding:7px 16px;display:grid;position:relative}.top li+li{border-top:1px solid var(--line)}.top li:before{content:counter(top);font:600 .875rem var(--font-display);color:var(--faint);text-align:end}.top li:nth-child(-n+3):before{color:var(--accent)}.top li:hover{background:var(--layer)}.top li[aria-current]{background:var(--accent-soft)}.top a{font-size:.875rem;font-weight:600;color:var(--text)!important}.top a:after{content:"";position:absolute;inset:0}.top small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;display:block;overflow:hidden}.grid-apps{background:var(--line);border:1px solid var(--line);border-radius:var(--r2);grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.grid-apps li{background:var(--surface);gap:12px;padding:14px;display:flex;position:relative}.grid-apps li:hover{background:var(--layer)}.grid-apps a{font-weight:600;color:var(--text)!important}.grid-apps a:after{content:"";position:absolute;inset:0}.grid-apps p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:.8125rem;display:-webkit-box;overflow:hidden}.grid-apps .meta{color:var(--faint);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px;font-size:.75rem;display:flex}.catlist{margin:0;padding:6px 0;list-style:none}.catlist a{justify-content:space-between;gap:8px;padding:6px 16px;font-size:.875rem;display:flex;color:var(--text)!important;text-decoration:none!important}.catlist a:hover{background:var(--layer)}.catlist a span{color:var(--faint);font-size:.75rem}.catlist .grp>a{font-weight:600}.catlist .sub a{padding-inline-start:28px;color:var(--text-2)!important}.tbl-wrap{border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:.875rem}.tbl th,.tbl td{text-align:start;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle;padding:9px 12px}.tbl tbody tr:last-child td{border-bottom:0}.tbl thead th{color:var(--text-2);background:var(--layer);font-size:.8125rem;font-weight:600}.tbl thead th button{all:unset;cursor:pointer}.tbl thead th button:after{content:" ↕";color:var(--faint);font-size:.75rem}.tbl tbody tr:hover{background:var(--layer)}.tbl td.app{white-space:normal;min-width:220px}.tbl td.app a{align-items:center;gap:10px;font-weight:600;display:inline-flex;color:var(--text)!important}.tbl td.app small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:46ch;font-size:.75rem;font-weight:400;display:block;overflow:hidden}.tbl td.app a>span{min-width:0}.hash{font-family:var(--mono);color:var(--text-2);font-size:.75rem}.info{grid-template-columns:minmax(130px,auto) 1fr;margin:0;font-size:.875rem;display:grid}.info dt,.info dd{border-bottom:1px solid var(--line);margin:0;padding:8px 0}.info dt{color:var(--muted);padding-inline-end:16px}.info dd{overflow-wrap:anywhere}.info>:nth-last-child(-n+2){border-bottom:0}@media (width>=720px){.info-2{grid-template-columns:minmax(130px,auto) 1fr minmax(130px,auto) 1fr;column-gap:24px}.info-2>:nth-last-child(-n+4){border-bottom:0}}.intro{padding:22px 0 18px}.intro h1{margin-bottom:6px}.intro p{color:var(--muted);max-width:72ch;margin-bottom:14px}.intro .sbf{max-width:640px}.counts{color:var(--muted);flex-wrap:wrap;gap:4px 22px;margin-top:14px;font-size:.8125rem;display:flex}.counts b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.tabset [role=tablist]{border-bottom:1px solid var(--line);display:flex}.tabset [role=tab]{font:600 .8125rem var(--font);color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:10px 8px}.tabset [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.groups{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;display:grid}.app-top{gap:16px;display:grid}@media (width>=980px){.app-top{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}.app-id{align-items:flex-start;gap:18px;display:flex}.app-id .app-icon,.app-id .app-letter{--s:72px}@media (width<=560px){.app-id{gap:12px}.app-id .app-icon,.app-id .app-letter{--s:56px}}.app-id h1{margin:0 0 2px}.tagline{color:var(--text-2);margin:0 0 6px}.meta-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:.8125rem;display:flex}.meta-line a{color:var(--text-2)!important}.facts{border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(118px,1fr));margin:16px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.facts li{border-inline-start:1px solid var(--line);padding:10px 14px}.facts li:first-child{border-inline-start:0}.facts span{color:var(--muted);font-size:.75rem;display:block}.facts b{font-size:.9375rem;font-weight:600}@media (width<=640px){.facts{grid-template-columns:repeat(2,1fr)}.facts li{border-inline-start:0;border-top:1px solid var(--line)}.facts li:nth-child(-n+2){border-top:0}.facts li:nth-child(2n){border-inline-start:1px solid var(--line)}}.dl-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--shadow);padding:14px}.dl-box .btn-go{justify-content:flex-start;width:100%}.dl-files{border-top:1px solid var(--line);margin:10px 0 0;padding:0;list-style:none}.dl-files li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 0;font-size:.8125rem;display:grid}.dl-files li[aria-current]{font-weight:600}.dl-files a{white-space:nowrap}.trust{color:var(--muted);gap:4px;margin:10px 0 0;padding:0;font-size:.75rem;list-style:none;display:grid}.trust li{align-items:flex-start;gap:6px;display:flex}.trust .ic{color:var(--ok);margin-top:2px}.dl-links{flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.8125rem;display:flex}.subnav{top:var(--hdr);z-index:20;background:var(--bg);border-bottom:1px solid var(--line);margin:18px 0 0;position:sticky}.subnav ul{scrollbar-width:none;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.subnav ul::-webkit-scrollbar{display:none}.subnav a{white-space:nowrap;border-bottom:2px solid #0000;padding:10px 12px;font-size:.8125rem;display:block;color:var(--text-2)!important;text-decoration:none!important}.subnav a:hover{color:var(--text)!important}.subnav a[aria-current]{border-bottom-color:var(--accent);font-weight:600;color:var(--text)!important}.subnav .count{color:var(--faint);font-weight:400}.quote{border-inline-start:3px solid var(--line-2);color:var(--text-2);margin:0 0 14px;padding-block:2px;padding-inline:16px 0}.quote p:last-of-type{margin-bottom:4px}.pc{gap:12px;display:grid}@media (width>=640px){.pc{grid-template-columns:1fr 1fr}}.pc h3{margin-bottom:6px;font-size:.875rem}.pc ul{color:var(--text-2);gap:6px;margin:0;padding:0;font-size:.875rem;list-style:none;display:grid}.pc li{gap:8px;display:flex}.pc .plus .ic{color:var(--ok);margin-top:3px}.pc .minus .ic{color:var(--bad);margin-top:3px}.verdict{background:var(--layer);border:1px solid var(--line);border-radius:var(--r2);color:var(--text-2);margin-top:12px;padding:12px 14px;font-size:.875rem}.verdict b{color:var(--text)}.checks{gap:8px;margin:0;padding:0;list-style:none;display:grid}.checks li{color:var(--text-2);align-items:flex-start;gap:10px;font-size:.875rem;display:flex}.checks .ic{margin-top:2px}.checks .yes .ic{color:var(--ok)}.checks .no .ic{color:var(--warn)}.features{columns:2 280px;color:var(--text-2);column-gap:28px;margin:0;padding:0;font-size:.875rem;list-style:none}.features li{break-inside:avoid;gap:8px;padding:4px 0;display:flex}.features .ic{color:var(--ok);margin-top:3px}.gallery{grid-auto-columns:minmax(240px,46%);grid-auto-flow:column;gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.gallery button{border:1px solid var(--line);border-radius:var(--r2);background:var(--layer);cursor:zoom-in;width:100%;padding:0;display:block;overflow:hidden}.gallery img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;display:block}.gallery figure{margin:0}.gallery figcaption{color:var(--faint);margin-top:4px;font-size:.75rem}.lightbox{background:0 0;border:0;max-width:min(96vw,1400px);max-height:92vh;padding:0}.lightbox::backdrop{background:#000000bf}.lightbox img{border-radius:var(--r2);max-width:100%;max-height:86vh;display:block}.lightbox button{top:8px;position:absolute;inset-inline-end:8px}.code{background:var(--code-bg);color:var(--code-text);border-radius:var(--r2);overflow:hidden}.code-h{color:var(--code-dim);border-bottom:1px solid #333;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:.75rem;display:flex}.cmd{align-items:center;gap:10px;padding:7px 8px 7px 12px;display:flex}.cmd+.cmd{border-top:1px solid #2d2d2d}.cmd code{white-space:nowrap;min-width:0;color:var(--code-text);scrollbar-width:thin;flex:1;font-size:.8125rem;overflow-x:auto}.cmd .lbl{width:58px;color:var(--code-key);flex:none;font-size:.6875rem}.copy{color:#ccc;height:26px;font:400 .75rem var(--font);cursor:pointer;background:#2a2a2a;border:1px solid #3c3c3c;border-radius:3px;flex:none;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.copy:hover{background:#333}.copy-l{border-color:var(--line-2);background:var(--surface);color:var(--text-2)}.copy-l:hover{background:var(--layer)}.code pre{font:.8125rem/1.55 var(--mono);color:var(--code-text);max-height:320px;margin:0;padding:10px 14px;overflow:auto}.cadence svg{width:100%;height:96px;display:block}.cadence .bar{fill:var(--accent)}.cadence .bar:hover{fill:var(--go)}.cadence .axis{fill:var(--faint);font:400 10px var(--font)}.reviews-sum{align-items:center;gap:16px;display:grid}@media (width>=640px){.reviews-sum{grid-template-columns:160px 1fr 1fr}}.avg{text-align:center}.avg b{font:600 2.5rem/1 var(--font-display);display:block}.hist{color:var(--muted);gap:4px;font-size:.75rem;display:grid}.hist div{grid-template-columns:14px 1fr 34px;align-items:center;gap:8px;display:grid}.hist i{background:var(--layer-2);border-radius:3px;height:6px;display:block;overflow:hidden}.hist i:before{content:"";height:100%;width:var(--w,0%);background:var(--star);display:block}.rate-form{gap:8px;display:grid}.rate-form .pick{gap:2px;display:inline-flex}.rate-form .pick button{cursor:pointer;background:0 0;border:0;padding:2px}.rate-form .pick svg{width:26px;height:26px;fill:var(--star-off)}.rate-form .pick button.on svg,.rate-form .pick:hover button svg{fill:var(--star)}.rate-form .pick button:hover~button svg{fill:var(--star-off)}.rate-form textarea,.rate-form input[type=text]{width:100%;font:inherit;color:var(--text);background:var(--layer);border:1px solid var(--line-2);border-bottom-color:var(--faint);border-radius:var(--r);padding:8px 10px}.rate-form textarea:focus,.rate-form input[type=text]:focus{background:var(--surface);border-bottom:2px solid var(--accent);outline:none}.rate-form .hp{position:absolute;inset-inline-start:-9999px}.review{border-top:1px solid var(--line);padding:14px 0}.review header{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.8125rem;display:flex}.review header b{color:var(--text)}.review p{color:var(--text-2);margin:6px 0}.review footer{color:var(--muted);gap:12px;font-size:.75rem;display:flex}.share{flex-wrap:wrap;gap:6px;display:flex}.notice{border-radius:var(--r2);background:var(--accent-soft);color:var(--text-2);border:1px solid color-mix(in srgb, var(--accent) 25%, var(--line));align-items:flex-start;gap:10px;padding:10px 14px;font-size:.875rem;display:flex}.notice-warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, var(--line))}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;gap:12px;padding:11px 0;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"⌄";color:var(--muted);transition:transform .15s}.faq details[open] summary:after{transform:rotate(180deg)}.faq details>div{color:var(--text-2);padding:0 0 12px;font-size:.9rem}.year-filter{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.year-filter button{border:1px solid var(--line-2);background:var(--surface);color:var(--text-2);border-radius:var(--r);font:400 .8125rem var(--font);cursor:pointer;padding:3px 10px}.year-filter button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ver-notes summary{cursor:pointer;color:var(--accent-text);width:fit-content;padding-block:3px;font-size:.8125rem;line-height:18px}.ver-notes pre{white-space:pre-wrap;font:.8125rem/1.5 var(--font);color:var(--text-2);background:var(--layer);border-radius:var(--r);max-height:320px;margin:6px 0 0;padding:10px 12px;overflow:auto}.files{flex-wrap:wrap;gap:4px 12px;display:flex}.files a{white-space:nowrap;align-items:center;gap:4px;min-height:24px;font-size:.8125rem;display:inline-flex}.toolbar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;font-size:.8125rem;display:flex}.seg{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);display:inline-flex;overflow:hidden}.seg a,.seg button{font:400 .8125rem var(--font);cursor:pointer;background:0 0;border:0;padding:4px 11px;color:var(--text)!important;text-decoration:none!important}.seg a+a,.seg button+button{border-inline-start:1px solid var(--line-2)}.seg [aria-current],.seg [aria-pressed=true]{background:var(--accent);color:var(--on-accent)!important}.pager{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:18px;display:flex}.pager a,.pager span{border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface);place-items:center;min-width:34px;height:32px;padding:0 9px;font-size:.875rem;display:inline-grid;color:var(--text)!important;text-decoration:none!important}.pager [aria-current]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)!important}.pagehead{align-items:center;gap:14px;margin-bottom:14px;display:flex}.pagehead>div{min-width:0}.pagehead .ph-ic{border-radius:var(--r2);background:var(--surface);border:1px solid var(--line);width:44px;height:44px;color:var(--accent);flex:none;place-items:center;display:grid}@media (width<=560px){.pagehead .ph-ic{display:none}}.pagehead h1{margin:0}.pagehead p{color:var(--muted);margin:2px 0 0;font-size:.875rem}.pagehead p a{text-underline-offset:2px;text-decoration:underline}.pack-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--r2);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:1px;margin:0 0 16px;padding:0;list-style:none;display:grid;overflow:hidden}.pack-grid label{background:var(--surface);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;font-size:.875rem;display:flex}.pack-grid label:hover{background:var(--layer)}.pack-grid input{width:16px;height:16px;accent-color:var(--accent)}.pack-grid label:has(input:checked){background:var(--accent-soft)}.pack-grid .app-icon,.pack-grid .app-letter{--s:24px}.pack-out{position:sticky;bottom:12px}.ftr{background:var(--surface);border-top:1px solid var(--line);color:var(--muted);margin-top:48px;font-size:.8125rem}.ftr-trust{border-bottom:1px solid var(--line);background:var(--layer);padding-block:20px}.ftr .trust-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.trust-grid li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.trust-grid b{color:var(--text);font-size:.875rem;font-weight:600;line-height:1.35;display:block}.trust-grid small{color:var(--muted);margin-top:3px;font-size:.75rem;line-height:1.45;display:block}.ft-ic{border-radius:var(--r2);background:var(--accent-soft);width:38px;height:38px;color:var(--accent-text);flex:none;place-items:center;display:grid}.trust-grid li:nth-child(2) .ft-ic,.trust-grid li:nth-child(3) .ft-ic{background:var(--go-soft);color:var(--go)}@media (width<=1000px){.ftr .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.ftr .trust-grid{grid-template-columns:minmax(0,1fr)}}.ftr-main{grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));gap:28px 32px;padding-block:32px 24px;display:grid}.ftr-brand p{max-width:40ch;margin:10px 0 0}.ftr-stats{color:var(--text-2);font-variant-numeric:tabular-nums}.ftr-h{text-transform:uppercase;letter-spacing:.05em;color:var(--text);align-items:center;gap:6px;margin:0 0 10px;font-size:.75rem;font-weight:600;display:flex}:lang(ja) .ftr-h,:lang(zh) .ftr-h,:lang(ko) .ftr-h,:lang(ar) .ftr-h,:lang(he) .ftr-h,:lang(fa) .ftr-h,:lang(ur) .ftr-h,:lang(th) .ftr-h,:lang(hi) .ftr-h,:lang(ta) .ftr-h,:lang(bn) .ftr-h,:lang(ka) .ftr-h,:lang(hy) .ftr-h,:lang(am) .ftr-h,:lang(my) .ftr-h,:lang(ps) .ftr-h,:lang(mr) .ftr-h,:lang(ne) .ftr-h,:lang(te) .ftr-h,:lang(pa) .ftr-h{text-transform:none;letter-spacing:0;font-size:.8125rem}.ftr ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ftr a{color:var(--text-2)!important}.ftr a:hover{color:var(--accent-text)!important}.ftr .ftr-linkbtn{color:var(--text-2);text-align:start;min-height:24px}.ftr .ftr-linkbtn:hover{color:var(--accent-text)}@media (width<=1000px){.ftr-main{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr-brand{grid-column:1/-1}}@media (width<=480px){.ftr-main{grid-template-columns:minmax(0,1fr)}}.ftr-langs{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px 16px;padding-block:16px;display:flex}.ftr-langs .ftr-h{margin:0}.ftr-langs ul{flex-wrap:wrap;gap:4px 14px;display:flex}.ftr-langs a[aria-current]{font-weight:600;color:var(--text)!important}.ftr-legal{border-top:1px solid var(--line);background:var(--layer);padding-block:14px 18px}.ftr-note{max-width:120ch;margin:0 0 8px;font-size:.75rem;line-height:1.6}.ftr-bottom{flex-wrap:wrap;justify-content:space-between;gap:6px 18px;font-size:.75rem;display:flex}.theme-switch{border:1px solid var(--line-2);border-radius:var(--r);margin-top:8px;display:inline-flex;overflow:hidden}.theme-switch button{background:var(--surface);color:var(--text-2);font:400 .75rem var(--font);cursor:pointer;border:0;padding:4px 10px}.theme-switch button+button{border-inline-start:1px solid var(--line-2)}.theme-switch button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}time[data-rel]:after{content:" (" attr(data-rel) ")";color:var(--faint)}@media print{.hdr,.catbar,.popbar,.ftr,.subnav,.dl-box,.rate-form{display:none!important}body{background:#fff}}.legal{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:20px;display:grid}.legal .prose h2{margin-top:28px}.legal-nav{top:calc(var(--hdr) + 16px);position:sticky}.legal-nav ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.legal-nav a{border-radius:var(--r);color:var(--text-2);padding:7px 10px;display:block}.legal-nav a[aria-current]{background:var(--accent-soft);color:var(--accent-text);font-weight:600}@media (width<=900px){.legal{grid-template-columns:minmax(0,1fr)}.legal-nav{position:static}}.pub-list{background:var(--line);border:1px solid var(--line);border-radius:var(--r2);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1px;margin:16px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.pub-list li{background:var(--surface);grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 14px;display:grid}.pub-list a{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.pub-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.guide .code{margin:10px 0 4px}.guide .cmd code{white-space:pre-wrap;overflow-wrap:anywhere}.guide-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.guide-list li{padding:16px}.guide-list b{font-size:1rem}.guide-list p{color:var(--muted);margin:6px 0 0;font-size:.875rem}.score-head{align-items:center;gap:16px;margin-bottom:12px;display:flex}.score-head p{color:var(--text-2);margin:0}.score-big{font:700 2rem/1 var(--font-display);flex:none}.score-big small{color:var(--muted);margin-inline-start:2px;font-size:.875rem;font-weight:400}.score-good{color:var(--go)}.score-mid{color:var(--warn)}.score-low{color:var(--bad)}.score-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:6px 24px;margin:0;padding:0;list-style:none;display:grid}.score-list li{grid-template-columns:minmax(0,1fr) 90px 24px;align-items:center;gap:10px;font-size:.8125rem;display:grid}.score-list b{text-align:end;font-variant-numeric:tabular-nums}.score-bar{background:var(--layer-2);border-radius:3px;height:6px;overflow:hidden}.score-bar i{border-radius:3px;height:100%;display:block}.score-bar i.score-good{background:var(--go)}.score-bar i.score-mid{background:var(--warn)}.score-bar i.score-low{background:var(--bad)}tr.is-cur td{background:var(--accent-soft)}.fmt-box{margin-bottom:16px}.fmt-box h2{margin:0 0 8px;font-size:1rem}.hw-form{gap:8px;display:flex}.hw-form input{border:1px solid var(--line-2);border-bottom-color:var(--faint);border-radius:var(--r);background:var(--surface);min-width:0;height:40px;color:var(--text);font:400 .9375rem var(--mono);flex:1;padding:0 12px}.hw-form input:focus{border-bottom:2px solid var(--accent);outline:none}.specs dd,.info dd{overflow-wrap:anywhere;min-width:0}.prose a,.lead a,.checks a,.source-line a,.faq a,.notice a,.sheet p a{text-underline-offset:2px;text-decoration:underline}.prose h2.h-sub{margin:18px 0 6px;font-size:1.0625rem}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:28px;padding:22px 0 20px;display:grid}.hero .intro{padding:0}@media (width<=1000px){.hero{grid-template-columns:minmax(0,1fr);gap:18px}}.spot{border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.spot-stage{display:grid;position:relative}.spot-slide{opacity:0;visibility:hidden;grid-area:1/1;min-width:0;transition:opacity .4s,visibility 0s linear .4s;position:relative}.spot-slide.is-on{opacity:1;visibility:visible;transition:opacity .4s}.spot:not(.is-ready) .spot-slide:not(:first-child){display:none}.spot-shot{aspect-ratio:16/9;background:var(--layer-2);display:block;overflow:hidden}.spot-shot img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.spot-credit{top:8px;color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#0009;border-radius:3px;max-width:60%;margin:0;padding:1px 6px;font-size:.625rem;line-height:1.6;position:absolute;inset-inline-end:8px;overflow:hidden}a.spot-credit{color:#fff!important;text-decoration:none!important}a.spot-credit:hover{background:#000c}.spot-card{inset-inline:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--shadow-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid;position:absolute;bottom:12px}.spot-slide.is-on .spot-card{animation:.45s ease-out both spot-in}@keyframes spot-in{0%{opacity:0;transform:translateY(6px)}}.spot-id{min-width:0}.spot-id p{margin:0}.spot-cat{color:var(--muted);font-size:.6875rem;line-height:1.4}.spot-name{font:600 1.0625rem/1.45 var(--font-display)}.spot-name a{color:var(--text)!important}.spot-meta{color:var(--muted);flex-wrap:wrap;gap:0 8px;font-size:.75rem;line-height:1.5;display:flex}.spot-meta span+span:before{content:"·";color:var(--faint);margin-inline-end:8px}.spot-line{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;line-height:1.45;overflow:hidden;margin-top:2px!important}.spot-btn{min-width:84px}.spot-tabs{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}.spot-tabs button{min-width:0;color:var(--muted);font:400 .75rem/1.2 var(--font);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px 9px;display:flex;position:relative}.spot-tabs button+button{border-inline-start:1px solid var(--line)}.spot-tabs button:hover{background:var(--hover);color:var(--text)}.spot-tabs button[aria-selected=true]{color:var(--text);font-weight:600}.spot-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.spot-tabs span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.6875rem;overflow:hidden}.spot-tabs .app-icon,.spot-tabs .app-letter{flex:none}.spot-tabs i{inset-inline-start:0;background:var(--accent);width:0;height:2px;position:absolute;bottom:0}.spot-tabs button[aria-selected=true] i{animation:7s linear forwards spot-fill}.spot.is-paused .spot-tabs button[aria-selected=true] i{animation-play-state:paused}@keyframes spot-fill{to{width:100%}}@media (width<=1000px){.spot-shot{aspect-ratio:2}}@media (width<=560px){.spot-shot{aspect-ratio:16/9}.spot-card{border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0;grid-template-columns:auto minmax(0,1fr);position:static}.spot-line{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.spot-btn{grid-column:1/-1}.spot-tabs span{display:none}.spot-tabs button{padding:10px 0}}@media (prefers-reduced-motion:reduce){.spot-slide,.spot-slide.is-on{transition:none}.spot-slide.is-on .spot-card{animation:none}.spot-tabs button[aria-selected=true] i{width:100%;animation:none}}.consent{z-index:80;border-radius:var(--r2);background:var(--surface);width:min(720px,100% - 32px);color:var(--text);border:1px solid var(--line-2);box-shadow:var(--shadow-2);align-items:center;gap:16px;padding:14px 16px;font-size:.875rem;line-height:1.5;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.consent[hidden]{display:none}.consent p{flex:1;min-width:0;margin:0}.consent a{color:var(--accent-text)}.consent-btns{flex:none;gap:8px;display:flex}.consent-btns .btn{min-width:96px;min-height:36px}@media (width<=560px){.consent{border-radius:var(--r2) var(--r2) 0 0;flex-direction:column;align-items:stretch;gap:12px;width:100%;bottom:0}.consent-btns .btn{flex:1}}@media print{.consent{display:none!important}}
