.st{--st-r:22px;--st-icon:64px;--st-blue:var(--sys-blue);--st-card:color-mix(in srgb,var(--bg) 40%,white);--st-fill:color-mix(in srgb,var(--ink) 6%,transparent);padding:96px 0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .st{--st-card:color-mix(in srgb,var(--bg) 80%,white 6%);--st-fill:color-mix(in srgb,var(--ink) 9%,transparent)}}:root[data-theme=dark] .st{--st-card:color-mix(in srgb,var(--bg) 80%,white 6%);--st-fill:color-mix(in srgb,var(--ink) 9%,transparent)}.st-wrap{max-width:1180px;margin:0 auto;padding:0 var(--gutter)}.st-bar{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:28px}.st-bar,.st-brand{align-items:center}.st-brand{display:inline-flex;gap:10px;color:var(--ink);text-decoration:none;font-size:22px;font-weight:750;letter-spacing:-.02em}.st-brand svg{width:30px;height:30px}.st-tabs{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--st-fill);max-width:100%;overflow-x:auto;scrollbar-width:none}.st-tabs::-webkit-scrollbar{display:none}.st-tabs a{flex:none;white-space:nowrap;padding:6px 14px;border-radius:999px;color:var(--ink-2);font-size:14px;font-weight:600;text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease)}.st-tabs a:hover{color:var(--ink)}.st-tabs a[aria-current=page]{background:var(--st-card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}.st-search{position:relative;flex:1 1 260px;max-width:420px;margin-left:auto}.st-search input{width:100%;height:40px;padding:0 14px 0 38px;border:0;border-radius:12px;background:var(--st-fill);color:var(--ink);font:inherit;font-size:15px;outline:none;transition:box-shadow .2s var(--ease),background .2s var(--ease)}.st-search input:focus{background:var(--st-card);box-shadow:0 0 0 3px color-mix(in srgb,var(--st-blue) 35%,transparent)}.st-search svg{position:absolute;left:12px;top:11px;width:18px;height:18px;color:var(--ink-3);pointer-events:none}.st-h1{margin:0;font-size:clamp(36px,5vw,56px);font-weight:760;line-height:1.02;letter-spacing:-.04em}.st-lede{max-width:640px;margin:14px 0 0;color:var(--ink-2);font-size:clamp(17px,1.6vw,20px);line-height:1.45}.st-sec{margin-top:56px}.st-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--line)}.st-sec-h h2{margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:720;letter-spacing:-.025em}.st-sec-h p{margin:4px 0 0;color:var(--ink-2);font-size:15px}.st-more{flex:none;color:var(--st-blue);font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap}.st-more:hover{text-decoration:underline}.st-icon{position:relative;flex:none;display:grid;place-items:center;width:var(--st-icon);height:var(--st-icon);overflow:hidden;border-radius:22.5%;background:var(--st-fill);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.12);color:#fff;font-size:calc(var(--st-icon) * .44);font-weight:700;letter-spacing:-.02em}.st-icon img{width:100%;height:100%;object-fit:cover}.st-icon.is-sm{--st-icon:44px}.st-icon.is-lg{--st-icon:120px}.st-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));grid-column-gap:32px;column-gap:32px}.st-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.st-row:hover .st-name{color:var(--st-blue)}.st-rank{min-width:18px;color:var(--ink-2);font-size:17px;font-weight:650;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.st-rank:empty{display:none}.st-row:has(.st-rank:empty){grid-template-columns:auto minmax(0,1fr) auto}.st-row-t{min-width:0}.st-name{display:block;overflow:hidden;color:var(--ink);font-size:16px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;transition:color .2s var(--ease)}.st-sub{display:-webkit-box;overflow:hidden;margin-top:2px;color:var(--ink-2);font-size:13.5px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.st-meta{display:flex;align-items:center;gap:8px;margin-top:4px;color:var(--ink-3);font-size:12.5px}.st-get{display:inline-grid;place-items:center;min-width:72px;height:30px;padding:0 16px;border-radius:999px;background:var(--st-fill);color:var(--st-blue);font-size:14px;font-weight:700;letter-spacing:.01em;text-decoration:none;white-space:nowrap;transition:background .2s var(--ease),transform .15s var(--ease)}a.st-get:hover,button.st-get:hover{background:color-mix(in srgb,var(--st-blue) 14%,transparent)}.st-get:active{transform:scale(.96)}.st-get.is-blue{background:var(--st-blue);color:#fff}.st-get.is-blue:hover{background:color-mix(in srgb,var(--st-blue) 88%,black)}.st-score{display:inline-flex;align-items:center;gap:4px;color:var(--ink-2);font-size:12.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.st-score svg{width:12px;height:12px;color:var(--ink-2)}.st-score.is-none{font-weight:500;color:var(--ink-3)}.st-dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.st-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));grid-gap:12px;gap:12px}.st-cat{display:grid;grid-gap:8px;gap:8px;padding:16px;border-radius:18px;background:var(--st-card);box-shadow:0 0 0 1px var(--line);color:inherit;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.st-cat:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--line),0 12px 28px -18px var(--shadow-deep)}.st-cat-i{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:#fff}.st-cat-i svg{width:20px;height:20px}.st-cat b{font-size:16px;font-weight:650}.st-cat span{color:var(--ink-2);font-size:13.5px;line-height:1.35}.st-cat small{color:var(--ink-3);font-size:12.5px}.st-shelf{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);grid-gap:14px;gap:14px;overflow-x:auto;padding:6px 2px 14px;scroll-snap-type:x mandatory;scrollbar-width:thin}.st-tile{scroll-snap-align:start;display:grid;grid-gap:12px;gap:12px;padding:18px;border-radius:var(--st-r);background:var(--st-card);box-shadow:0 0 0 1px var(--line);color:inherit;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.st-tile:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--line),0 16px 34px -20px var(--shadow-deep)}.st-tile-top{display:flex;align-items:center;gap:12px}.st-tile p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.4}.st-kicker{color:var(--st-blue);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.st-tags{display:flex;flex-wrap:wrap;gap:6px}.st-tag{padding:3px 9px;border-radius:999px;background:var(--st-fill);color:var(--ink-2);font-size:12px;font-weight:600;white-space:nowrap}.st-tag.is-local{background:color-mix(in srgb,var(--sys-green) 16%,transparent);color:color-mix(in srgb,var(--sys-green) 70%,var(--ink))}.st-tag.is-open{background:color-mix(in srgb,var(--sys-indigo) 14%,transparent);color:color-mix(in srgb,var(--sys-indigo) 75%,var(--ink))}.st-tag.is-warn{background:color-mix(in srgb,var(--sys-orange) 16%,transparent);color:color-mix(in srgb,var(--sys-orange) 60%,var(--ink))}.st-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}.st-chip{padding:7px 13px;border:0;border-radius:999px;background:var(--st-fill);color:var(--ink-2);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}.st-chip[aria-pressed=true]{background:var(--ink);color:var(--bg)}.st-count{color:var(--ink-3);font-size:13.5px}.st-empty{padding:40px 0;color:var(--ink-2);text-align:center}.st-app-head{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:24px;gap:24px;align-items:center}.st-app-head h1{margin:0;font-size:clamp(30px,4vw,44px);font-weight:760;letter-spacing:-.035em;line-height:1.05}.st-app-maker{margin-top:4px;color:var(--ink-2);font-size:17px}.st-app-sum{margin:10px 0 0;max-width:640px;font-size:17px;line-height:1.45}.st-app-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.st-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.st-fact{display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:14px 10px;text-align:center}.st-fact+.st-fact{border-left:1px solid var(--line)}.st-fact small{color:var(--ink-3);font-size:11.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.st-fact b{font-size:18px;font-weight:700}.st-fact span{color:var(--ink-2);font-size:12.5px}.st-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:48px;gap:48px;margin-top:40px}@media (max-width:860px){.st-cols{grid-template-columns:minmax(0,1fr);gap:32px}.st-fact:nth-child(odd){border-left:0}}.st-prose p{margin:0 0 14px;font-size:16.5px;line-height:1.6}.st-h3{margin:0 0 12px;font-size:20px;font-weight:700;letter-spacing:-.015em}.st-box{padding:18px;border-radius:18px;background:var(--st-card);box-shadow:0 0 0 1px var(--line)}.st-box+.st-box{margin-top:16px}.st-ways{display:grid;grid-gap:10px;gap:10px}.st-way{display:grid;grid-gap:6px;gap:6px}.st-way-h{justify-content:space-between;gap:10px;font-size:14.5px;font-weight:600}.st-cmd,.st-way-h{display:flex;align-items:center}.st-cmd{gap:8px;padding:8px 8px 8px 12px;border-radius:10px;background:var(--st-fill);font-family:var(--mono);font-size:13px}.st-cmd code{flex:1 1;min-width:0;overflow-x:auto;white-space:nowrap}.st-copy{flex:none;padding:5px 11px;border:0;border-radius:8px;background:var(--ink);color:var(--bg);font:inherit;font-family:var(--font);font-size:12.5px;font-weight:650;cursor:pointer;transition:background .2s var(--ease)}.st-copy.is-done{background:var(--ok);color:#fff}.st-kv{display:grid;grid-gap:0;gap:0;margin:0}.st-kv div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);grid-gap:12px;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}.st-kv div:last-child{border-bottom:0}.st-kv dt{color:var(--ink-2)}.st-kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.st-sources{margin:0;padding:0;list-style:none;font-size:13.5px;line-height:1.5}.st-sources li{padding:6px 0;border-bottom:1px solid var(--line)}.st-sources li:last-child{border-bottom:0}.st-sources a{color:var(--st-blue);overflow-wrap:anywhere}.st-sources small{display:block;color:var(--ink-3)}.st-banner{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--sys-orange) 14%,transparent);font-size:14.5px}.st-note{margin-top:10px;color:var(--ink-3);font-size:12.5px;line-height:1.45}.st-big-score{display:flex;align-items:baseline;gap:8px}.st-big-score b{font-size:44px;font-weight:760;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.st-big-score span{color:var(--ink-2);font-size:15px}.st-bars{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.st-bar-row{display:grid;grid-gap:4px;gap:4px;font-size:13.5px}.st-bar-row header{display:flex;justify-content:space-between;gap:10px}.st-bar-row header span{color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.st-track{height:6px;overflow:hidden;border-radius:99px;background:var(--st-fill)}.st-track i{display:block;height:100%;border-radius:inherit;background:var(--st-blue);transform-origin:left;animation:st-grow .9s var(--ease) both}@keyframes st-grow{0%{transform:scaleX(0)}}.st-cmp{display:grid;grid-template-columns:minmax(120px,.8fr) repeat(var(--n,2),minmax(0,1fr));margin-top:28px;border-radius:18px;background:var(--st-card);box-shadow:0 0 0 1px var(--line);overflow:hidden}.st-cmp>*{padding:14px 16px;border-bottom:1px solid var(--line);font-size:14.5px;min-width:0;overflow-wrap:anywhere}.st-cmp .is-k{color:var(--ink-2);font-weight:600}.st-cmp .is-head{display:grid;justify-items:start;grid-gap:8px;gap:8px}.st-cmp .is-head b{font-size:18px}.st-cmp>:nth-last-child(-n+3){border-bottom:0}@media (max-width:640px){.st{padding-top:84px}.st-app-head{grid-template-columns:minmax(0,1fr)}.st-icon.is-lg{--st-icon:96px}.st-cmp{grid-template-columns:minmax(90px,.7fr) repeat(var(--n,2),minmax(0,1fr))}.st-cmp>*{padding:12px 10px;font-size:13.5px}}@media (prefers-reduced-motion:reduce){.st-track i{animation:none}.st-cat,.st-tile{transition:none}}.st-search-hero{max-width:640px;margin:28px 0 0}.st-search-hero input{height:48px;font-size:17px;border-radius:14px}.st-search-hero svg{top:15px}@media (max-width:420px){.st-tabs a{padding:6px 11px;font-size:13px}}