@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(./instrument-sans-latin-ext-standard-normal-C5E2Gvlv.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(./instrument-sans-latin-standard-normal-BVScPF0l.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #eff4f9;--paper-2: #e2eaf2;--ink: #0b1826;--ink-2: #3f5567;--ink-3: #596d80;--accent: #1668d8;--on-accent: #fff;--vital: #0d9e8f;--card: rgba(255, 255, 255, .76);--card-solid: #fff;--edge: rgba(11, 24, 38, .045);--edge-lit: rgba(255, 255, 255, .85);--shadow-1: 0 1px 2px rgba(11, 24, 38, .04), 0 6px 16px -8px rgba(11, 24, 38, .1);--shadow-2: 0 2px 4px rgba(11, 24, 38, .05), 0 26px 50px -18px rgba(11, 24, 38, .22);--display: "Archivo Variable", system-ui, sans-serif;--body: "Instrument Sans Variable", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", menlo, monospace;--ease: cubic-bezier(.22, 1, .36, 1);--ease-morph: cubic-bezier(.32, .72, 0, 1);--radius: 20px;--radius-sm: 12px;--gutter: clamp(18px, 4vw, 44px);--squircle: polygon( 100% 50%, 99.77% 71.02%, 99.09% 78.47%, 97.94% 83.84%, 96.3% 88.04%, 94.15% 91.42%, 91.42% 94.15%, 88.04% 96.3%, 83.84% 97.94%, 78.47% 99.09%, 71.02% 99.77%, 50% 100%, 28.98% 99.77%, 21.53% 99.09%, 16.16% 97.94%, 11.96% 96.3%, 8.58% 94.15%, 5.85% 91.42%, 3.7% 88.04%, 2.06% 83.84%, .91% 78.47%, .23% 71.02%, 0% 50%, .23% 28.98%, .91% 21.53%, 2.06% 16.16%, 3.7% 11.96%, 5.85% 8.58%, 8.58% 5.85%, 11.96% 3.7%, 16.16% 2.06%, 21.53% .91%, 28.98% .23%, 50% 0%, 71.02% .23%, 78.47% .91%, 83.84% 2.06%, 88.04% 3.7%, 91.42% 5.85%, 94.15% 8.58%, 96.3% 11.96%, 97.94% 16.16%, 99.09% 21.53%, 99.77% 28.98% );color-scheme:light}[data-theme=dark]{--paper: #0d1520;--paper-2: #070c13;--ink: #e9f0f7;--ink-2: #a3b6c7;--ink-3: #7c90a3;--accent: #5fa0ff;--on-accent: #06121f;--vital: #2fd9c4;--card: rgba(255, 255, 255, .05);--card-solid: #16202c;--edge: rgba(255, 255, 255, .06);--edge-lit: rgba(255, 255, 255, .1);--shadow-1: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 16px -8px rgba(0, 0, 0, .5);--shadow-2: 0 2px 4px rgba(0, 0, 0, .4), 0 26px 50px -18px rgba(0, 0, 0, .7);color-scheme:dark}.glass{border:1px solid var(--edge);background:var(--card);backdrop-filter:blur(18px) saturate(170%);box-shadow:inset 0 1px 0 var(--edge-lit),var(--shadow-1)}.glass:focus-within{border-color:color-mix(in oklab,var(--accent) 45%,transparent);box-shadow:inset 0 1px 0 var(--edge-lit),0 0 0 4px color-mix(in oklab,var(--accent) 12%,transparent)}@supports not (backdrop-filter: blur(1px)){.glass{background:color-mix(in oklab,var(--card-solid) 92%,transparent)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100svh;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;transition:background .4s var(--ease),color .4s var(--ease)}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(70% 50% at 12% -8%,color-mix(in oklab,var(--accent) 18%,transparent),transparent 70%),radial-gradient(60% 44% at 96% 4%,color-mix(in oklab,var(--vital) 14%,transparent),transparent 70%)}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:16px var(--gutter);background:color-mix(in oklab,var(--paper) 72%,transparent);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid transparent;transition:border-color .3s}.header.stuck{border-bottom-color:var(--edge)}.wordmark{flex:none;font-family:var(--display);font-weight:700;font-stretch:118%;font-size:17px;letter-spacing:.01em;text-transform:uppercase}.wordmark span{color:var(--accent)}.search{display:flex;align-items:center;gap:9px;flex:1;max-width:400px;margin-left:auto;height:40px;padding:0 14px;border-radius:var(--radius-sm);transition:border-color .24s,box-shadow .3s var(--ease)}.search svg{flex:none;width:16px;height:16px;stroke:var(--ink-3)}.search input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--ink);font:inherit;font-size:14.5px;outline:none}.search input::placeholder{color:var(--ink-3)}.search input::-webkit-search-cancel-button{appearance:none}kbd{flex:none;padding:2px 6px;border:1px solid var(--edge);border-radius:5px;font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}.theme-toggle{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--ink);font-size:14px;cursor:pointer;transition:transform .3s var(--ease),background .24s}.theme-toggle:hover{transform:translateY(-1px);background:var(--card-solid)}.shell{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 var(--gutter) 100px}.masthead{padding:clamp(36px,7vw,68px) 0 clamp(24px,4vw,38px)}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vital);box-shadow:0 0 0 4px color-mix(in oklab,var(--vital) 25%,transparent)}h1{margin:0;font-family:var(--display);font-weight:700;font-stretch:122%;font-size:clamp(34px,6.2vw,62px);line-height:1.02;letter-spacing:-.028em}h1 .thin{font-weight:400;font-stretch:100%;color:color-mix(in oklab,var(--ink) 62%,transparent)}.filters{display:flex;flex-wrap:nowrap;gap:6px;padding:26px 0 36px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.filters::-webkit-scrollbar{display:none}.chip{flex:1 0 auto;padding:6px 12px;border:1px solid var(--edge);border-radius:9px;background:var(--card);backdrop-filter:blur(12px) saturate(160%);box-shadow:inset 0 1px 0 var(--edge-lit);color:var(--ink-2);font:inherit;font-size:13px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:color .18s,background .18s,border-color .18s}.chip:hover{color:var(--ink);background:var(--card-solid)}.chip-all{flex:0 0 auto;display:grid;place-items:center;padding:6px 8px}.chip-all svg{width:15px;height:15px;fill:currentcolor}.chip[aria-pressed=true]{color:var(--paper);background:var(--ink);border-color:transparent}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--edge);border-radius:var(--radius);background:var(--card);backdrop-filter:blur(18px) saturate(170%);box-shadow:inset 0 1px 0 var(--edge-lit),var(--shadow-1);text-align:left;font:inherit;color:inherit;cursor:pointer;animation:rise .64s var(--ease) backwards;animation-delay:calc(var(--i) * 45ms);transition:transform .46s var(--ease),box-shadow .46s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 var(--edge-lit),var(--shadow-2)}.card:active{transform:translateY(-1px) scale(.994);transition-duration:.14s}.card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cover{position:relative;display:grid;place-items:center;height:168px;overflow:hidden;background:linear-gradient(140deg,var(--c1),var(--c2))}.wash{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(34px);transform:scale(1.35);mix-blend-mode:luminosity;opacity:.5}.cover:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 0%,rgba(255,255,255,.28),transparent 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.3'/%3E%3C/svg%3E")}.app-icon{--size: 88px;position:relative;z-index:1;flex:none;display:grid;place-items:center;width:var(--size);height:var(--size);clip-path:var(--squircle);background:var(--card-solid);filter:drop-shadow(0 8px 14px rgba(11,24,38,.28));transition:transform .62s var(--ease)}.app-icon.pictured{background:#fff}.app-icon img{width:100%;height:100%;object-fit:contain}.app-icon.lettered{background:linear-gradient(145deg,var(--c1),var(--c2))}.app-icon .glyph{font-family:var(--display);font-weight:700;font-stretch:118%;font-size:calc(var(--size) * .34);letter-spacing:-.04em;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.25)}.card:hover .app-icon{transform:translateY(-3px) scale(1.05)}.body{display:flex;align-items:center;gap:16px;padding:16px 18px 18px}.text{min-width:0}.kicker{display:block;margin-bottom:5px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.card h3{margin:0 0 6px;font-family:var(--display);font-weight:600;font-stretch:108%;font-size:19px;letter-spacing:-.012em}.card p{margin:0;font-size:14px;line-height:1.45;color:var(--ink-2)}.card.hero{grid-column:1 / -1;min-height:300px;justify-content:flex-end}.card.hero .cover{position:absolute;inset:0;height:auto}.card.hero .wash{filter:blur(60px);transform:scale(1.6);opacity:.55}.card.hero .body{position:relative;z-index:1;align-items:flex-end;padding:26px;color:#fff}.card.hero .app-icon{--size: 76px}.card.hero .kicker{color:#fffc}.card.hero h3{font-size:clamp(26px,3.6vw,38px);font-weight:700;font-stretch:118%;letter-spacing:-.025em}.card.hero p{max-width:52ch;font-size:15.5px;color:#ffffffe0}.badge{position:absolute;top:20px;left:26px;z-index:1;padding:5px 11px;border-radius:999px;background:var(--vital);color:#04231f;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.empty{grid-column:1 / -1;padding:70px 0;text-align:center;color:var(--ink-3)}.empty strong{display:block;margin-bottom:6px;color:var(--ink-2);font-size:17px}.empty code{font-family:var(--mono);font-size:.9em}.scrim{position:fixed;inset:0;z-index:40;background:color-mix(in oklab,var(--paper-2) 62%,transparent);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .38s var(--ease)}body.open .scrim{opacity:1;pointer-events:auto}.sheet{position:fixed;z-index:50;left:50%;top:50%;width:min(680px,calc(100vw - 32px));max-height:min(780px,calc(100svh - 48px));overflow:auto;transform:translate(-50%,-50%);border:1px solid var(--edge);border-radius:24px;background:var(--card-solid);box-shadow:var(--shadow-2);display:none}body.open .sheet{display:block}.sheet-shot{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--paper-2)}.shot{width:100%;height:100%;object-fit:cover;object-position:top center}.sheet .cover{height:200px}.sheet-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}.sheet-head .app-icon{--size: 64px}.sheet-titles{min-width:0}.sheet-body{padding:24px 28px 30px}.sheet-body h2{margin:0;font-family:var(--display);font-weight:700;font-stretch:116%;font-size:27px;letter-spacing:-.022em}.lede{margin:0 0 22px;font-size:16px;line-height:1.55;color:var(--ink-2)}.meta{display:flex;flex-wrap:wrap;gap:26px;padding:16px 0;margin:0 0 22px;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}.meta div{display:flex;flex-direction:column;gap:3px}.meta dt{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.meta dd{margin:0;font-size:14px;font-weight:500}.actions{display:flex;gap:10px}.open-btn{flex:1;padding:13px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font:inherit;font-size:15px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;transition:transform .3s var(--ease),filter .24s}.open-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.close-btn{padding:13px 18px;border:1px solid var(--edge);border-radius:var(--radius-sm);background:none;color:var(--ink-2);font:inherit;font-size:15px;cursor:pointer;transition:background .2s}.close-btn:hover{background:var(--card)}::view-transition-group(morph){animation-duration:.52s;animation-timing-function:var(--ease-morph)}::view-transition-old(morph),::view-transition-new(morph){height:100%;overflow:clip;animation-duration:.52s}::view-transition-old(morph){animation-name:morph-out}::view-transition-new(morph){animation-name:morph-in}@keyframes morph-out{to{opacity:0}}@keyframes morph-in{0%{opacity:0}}@media(max-width:620px){.header{flex-wrap:wrap;gap:10px}.wordmark{order:1;margin-right:auto}.theme-toggle{order:2}.search{order:3;flex-basis:100%;max-width:none;margin-left:0}kbd{display:none}.masthead{padding:26px 0 2px}h1{font-size:27px}.filters{padding:22px 0 32px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}.sheet-head{gap:13px}.sheet-head .app-icon{--size: 54px}.sheet-body h2{font-size:23px}.grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:32px 12px}.card,.card.hero{grid-column:auto;min-height:0;align-items:center;overflow:visible;border:0;background:none;backdrop-filter:none;box-shadow:none;justify-content:flex-start;align-self:start}.card:hover{transform:none;box-shadow:none}.card:active{transform:none}.card:active .app-icon{transform:scale(.92);transition-duration:.12s}.card:hover .app-icon{transform:none}.card .cover{height:auto;overflow:visible;background:none}.card .cover:after,.card .wash,.card .badge,.card .kicker,.card p,.card.hero .cover{display:none}.card .body,.card.hero .body{flex-direction:column;align-items:center;gap:9px;padding:9px 0 0;color:var(--ink)}.card.hero .body{padding-top:0}.card .text{text-align:center}.card h3,.card.hero h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-family:var(--body);font-size:12px;font-weight:500;font-stretch:100%;line-height:1.25;letter-spacing:0;color:var(--ink)}.card .app-icon,.card.hero .app-icon{--size: 68px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
