@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.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}:root{--bg:#f3f5fb;--glow-1:#6366f129;--glow-2:#06b6d424;--surface:#fffc;--surface-solid:#fff;--border:#dfe3ef;--text:#111827;--muted:#545d75;--accent:#4f46e5;--accent-2:#0891b2;--host:#0e7490;--gradient:linear-gradient(120deg, #4f46e5, #7c3aed 45%, #0891b2);--sso:#5b21b6;--sso-soft:#ede9fe;--login:#115e59;--login-soft:#ccfbf1;--focus:#4f46e5;--shadow:0 1px 2px #1118270d, 0 4px 16px -8px #1118271a;--shadow-hover:0 10px 26px -13px #4f46e547;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#090c16;--glow-1:#6366f138;--glow-2:#22d3ee1f;--surface:#ffffff0a;--surface-solid:#121729;--border:#ffffff17;--text:#e7eaf3;--muted:#9aa3b9;--accent:#a5b4fc;--accent-2:#67e8f9;--host:#67e8f9;--gradient:linear-gradient(120deg, #a5b4fc, #c4b5fd 45%, #67e8f9);--sso:#ddd6fe;--sso-soft:#8b5cf638;--login:#99f6e4;--login-soft:#14b8a62e;--focus:#a5b4fc;--shadow:none;--shadow-hover:0 10px 30px -13px #6366f16b}}*{box-sizing:border-box}body{background:radial-gradient(60rem 30rem at 10% -10%, var(--glow-1), transparent 70%), radial-gradient(50rem 28rem at 95% 0%, var(--glow-2), transparent 70%), var(--bg);background-attachment:fixed;min-height:100vh;margin:0}.page{max-width:1240px;margin:0 auto;padding:32px 16px 24px}.header h1{letter-spacing:-.03em;width:fit-content;color:var(--accent);background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Space Grotesk Variable,system-ui,sans-serif;font-size:clamp(1.9rem,5vw,2.5rem);font-weight:700;line-height:1.2}.tagline{color:var(--muted);margin:2px 0 16px}.search{max-width:420px;position:relative}.search input{width:100%;font:inherit;color:var(--text);background:var(--surface-solid);border:1px solid var(--border);border-radius:10px;padding:8px 40px 8px 12px;transition:border-color .15s,box-shadow .15s}.search input:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 25%, transparent);outline:none}.search kbd{color:var(--muted);border:1px solid var(--border);pointer-events:none;border-radius:4px;padding:0 6px;font:.8rem ui-monospace,monospace;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.group{margin-top:24px}.group h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:10px;margin:0 0 8px;font-size:.8rem;font-weight:600;display:flex}.group h2:after{content:"";background:linear-gradient(90deg, var(--border), transparent);flex:1;height:1px}.cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;transition:transform .22s ease-out,border-color .22s ease-out,box-shadow .22s ease-out;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--gradient);opacity:0;height:2px;transition:opacity .22s ease-out;position:absolute;inset:0 0 auto}.card:hover,.card:focus-within{border-color:color-mix(in srgb, var(--accent) 33%, var(--border));box-shadow:var(--shadow-hover);transform:translateY(-3px)}.card:hover:before,.card:focus-within:before{opacity:.8}.card-link{color:inherit;flex-direction:column;text-decoration:none;display:flex}.card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card-link:focus-visible{outline:none}.card:has(.card-link:focus-visible){outline:2px solid var(--focus);outline-offset:2px;overflow:visible}.card-name{letter-spacing:-.01em;padding-right:96px;font-family:Space Grotesk Variable,system-ui,sans-serif;font-size:1.05rem;font-weight:600}.card-host{color:var(--host);overflow-wrap:anywhere;font:.8rem ui-monospace,monospace}.card-description{color:var(--muted);margin:0;font-size:.875rem}.badges{gap:4px;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:13px;right:14px}.badge{border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-sso{color:var(--sso);background:var(--sso-soft)}.badge-login{color:var(--login);background:var(--login-soft)}.empty{color:var(--muted);margin-top:24px;display:block}.footer{color:var(--muted);margin-top:28px;font-size:.85rem}@media (width<=480px){.page{padding-top:16px;padding-bottom:16px}.tagline{margin-bottom:12px}.group{margin-top:14px}.footer{margin-top:16px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.card{padding:10px}.card-name{padding-right:0}.card-host{font-size:.7rem}.card-description{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;line-height:1.35;overflow:hidden}.badges{order:1;margin-top:4px;position:static}}@media (prefers-reduced-motion:reduce){.card,.card:before,.search input{transition:none}.card:hover,.card:focus-within{transform:none}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
