:root{--accent-rgb:69 75 87;--accent-strong:#2e333c;--accent-fg:#fff;--accent:rgb(var(--accent-rgb));--accent-soft:rgb(var(--accent-rgb) / .08);--accent-line:rgb(var(--accent-rgb) / .28);--accent-ring:rgb(var(--accent-rgb) / .16);--brand:var(--accent);--brand-strong:var(--accent-strong);--brand-soft:var(--accent-soft);--brand-line:var(--accent-line);--brand-ring:var(--accent-ring);--brand-fg:var(--accent-fg);--ink:#111114;--bg:#f5f6f8;--bg-elevated:#fff;--bg-hover:#eef1f5;--chip:#f1f3f6;--fg:#1a1d23;--fg-muted:#5b6472;--fg-subtle:#8b93a1;--border:#1a1d231a;--border-strong:#1a1d2333;--rule:#1a1d231f;--danger:#d92d20;--danger-soft:#d92d2014;--danger-line:#d92d204d;--radius:10px;--radius-md:12px;--radius-sm:8px;--radius-xs:6px;--header-bg:#ffffffd9;--shadow-xs:0 1px 2px #1018280a;--shadow-sm:0 1px 3px #1018280d, 0 1px 2px #10182808;--shadow-md:0 6px 16px #10182814, 0 2px 4px #1018280a;--shadow-lg:0 12px 28px #1018281f, 0 4px 8px #1018280d;--max-w:min(1560px, 100%);--header-h:62px;--card-min:210px;--favicon-pad:5px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", "PingFang SC", monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent-rgb:201 206 214;--accent-strong:#e3e7ec;--accent-fg:#101317;--accent-soft:rgb(var(--accent-rgb) / .12);--accent-line:rgb(var(--accent-rgb) / .34);--accent-ring:rgb(var(--accent-rgb) / .2);--ink:#f2f3f5;--bg:#0e1014;--bg-elevated:#15181e;--bg-hover:#1d2129;--chip:#1d2129;--fg:#f2f3f5;--fg-muted:#a4abb8;--fg-subtle:#747c8a;--border:#f2f3f51f;--border-strong:#f2f3f547;--rule:#f2f3f529;--danger:#ff6369;--danger-soft:#ff636924;--danger-line:#ff636957;--header-bg:#15181ed9;--shadow-md:0 2px 10px #00000080;--shadow-lg:0 10px 30px #0009}}:root[data-theme=dark]{--accent-rgb:201 206 214;--accent-strong:#e3e7ec;--accent-fg:#101317;--accent-soft:rgb(var(--accent-rgb) / .12);--accent-line:rgb(var(--accent-rgb) / .34);--accent-ring:rgb(var(--accent-rgb) / .2);--ink:#f2f3f5;--bg:#0e1014;--bg-elevated:#15181e;--bg-hover:#1d2129;--chip:#1d2129;--fg:#f2f3f5;--fg-muted:#a4abb8;--fg-subtle:#747c8a;--border:#f2f3f51f;--border-strong:#f2f3f547;--rule:#f2f3f529;--danger:#ff6369;--danger-soft:#ff636924;--danger-line:#ff636957;--header-bg:#15181ed9;--shadow-md:0 2px 10px #00000080;--shadow-lg:0 10px 30px #0009}:root[data-accent=teal]{--accent-rgb:13 148 136;--accent-strong:#0f766e}:root[data-accent=sky]{--accent-rgb:37 99 235;--accent-strong:#1d4ed8}:root[data-accent=violet]{--accent-rgb:124 92 240;--accent-strong:#6d4ae8}:root[data-accent=amber]{--accent-rgb:180 83 9;--accent-strong:#92400e}:root[data-accent=rose]{--accent-rgb:219 39 79;--accent-strong:#be123c}:root[data-theme=dark][data-accent=teal]{--accent-rgb:94 234 212;--accent-strong:#99f6e4;--accent-fg:#04231f}:root[data-theme=dark][data-accent=sky]{--accent-rgb:147 197 253;--accent-strong:#bfdbfe;--accent-fg:#0b1e3a}:root[data-theme=dark][data-accent=violet]{--accent-rgb:167 139 250;--accent-strong:#c4b5fd;--accent-fg:#1b1140}:root[data-theme=dark][data-accent=amber]{--accent-rgb:252 211 77;--accent-strong:#fde68a;--accent-fg:#2b1a04}:root[data-theme=dark][data-accent=rose]{--accent-rgb:253 164 175;--accent-strong:#fecdd3;--accent-fg:#3b0713}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6;position:relative}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(circle, var(--rule) 1px, transparent 1px), radial-gradient(900px 360px at 16% -14%, var(--accent-soft), transparent 70%), radial-gradient(720px 300px at 94% -18%, var(--accent-soft), transparent 72%);background-size:20px 20px,auto,auto;height:min(560px,72vh);position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#00000080,#0000 78%);mask-image:linear-gradient(#00000080,#0000 78%)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:var(--accent-fg)}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 24px}.muted{color:var(--fg-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.site-header{z-index:30;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header .bar{height:var(--header-h);align-items:center;gap:20px;display:flex}.brand{white-space:nowrap;flex:none;align-items:center;gap:10px;min-width:0;display:flex}.brand .logo{background:var(--accent);width:30px;height:30px;color:var(--accent-fg);border-radius:9px;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.brand-name{letter-spacing:-.02em;text-overflow:ellipsis;font-size:16px;font-weight:800;overflow:hidden}.header-search{flex:auto;align-items:center;min-width:0;max-width:460px;margin:0 auto;display:flex;position:relative}.header-search .icon{color:var(--fg-subtle);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.header-search input{width:100%;min-width:0;height:38px;font:inherit;color:var(--fg);background:var(--chip);-webkit-appearance:none;appearance:none;border:1px solid #0000;border-radius:999px;outline:none;padding:0 54px 0 34px;font-size:14px;transition:border-color .12s,box-shadow .12s,background .12s}.header-search input::-webkit-search-cancel-button,.header-search input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.header-search input::placeholder{color:var(--fg-subtle)}.header-search input:focus{background:var(--bg-elevated);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.kbd-hint{font-family:var(--mono);color:var(--fg-subtle);border:1px solid var(--border);pointer-events:none;border-radius:6px;align-items:center;gap:3px;padding:3px 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.header-search input:focus~.kbd-hint{opacity:0}.auth{flex:none;align-items:center;gap:4px;display:flex}.auth-user{white-space:nowrap;text-overflow:ellipsis;max-width:140px;color:var(--fg-subtle);font-family:var(--mono);font-size:11px;overflow:hidden}.auth-btn{height:34px;font:inherit;white-space:nowrap;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;padding:0 12px;font-size:14px;font-weight:600;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.auth-btn:hover{color:var(--fg);background:var(--chip)}.auth-btn--primary{color:var(--accent-fg);background:var(--accent);border-color:var(--accent)}.auth-btn--primary:hover{color:var(--accent-fg);background:var(--accent-strong);border-color:var(--accent-strong)}.theme-btn{width:34px;height:34px;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;place-items:center;transition:color .12s,background .12s;display:inline-grid}.theme-btn:hover{color:var(--fg);background:var(--chip)}.theme-btn .i-sun,:root[data-theme=dark] .theme-btn .i-moon{display:none}:root[data-theme=dark] .theme-btn .i-sun{display:block}.accent-picker{flex:none;align-items:center;gap:5px;display:inline-flex}.accent-dot{cursor:pointer;background:currentColor;border:1px solid #0000001f;border-radius:50%;width:14px;height:14px;padding:0;transition:transform .12s,box-shadow .12s}:root[data-theme=dark] .accent-dot{border-color:#ffffff2e}.accent-dot:hover{transform:scale(1.18)}.accent-dot[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg-elevated), 0 0 0 3.5px currentColor}.indexbar{border-bottom:1px solid var(--rule);align-items:baseline;gap:26px;padding:9px 0 8px;display:flex}.istat{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);align-items:baseline;gap:7px;font-size:11px;display:inline-flex}.istat b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--fg);font-size:17px;font-weight:700}.cat-rail{top:calc(var(--header-h) + 10px);z-index:20;scrollbar-width:none;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);width:fit-content;max-width:100%;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:2px;margin:8px 0 0;padding:4px 6px;display:flex;position:sticky;overflow-x:auto}.cat-rail::-webkit-scrollbar{height:0}.cat-rail a{font-family:var(--mono);letter-spacing:.06em;color:var(--fg-muted);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:5px 12px;font-size:11px;transition:color .12s,background .12s;display:inline-flex}.cat-rail a:hover{color:var(--accent);background:var(--accent-soft)}.cat-rail a b{color:var(--accent);font-weight:700}.cat-rail a i{font-variant-numeric:tabular-nums;color:var(--fg-muted);font-style:normal;font-weight:700}.cat-rail a:hover i{color:var(--accent)}.search-meta{min-height:26px;font-family:var(--mono);letter-spacing:.06em;color:var(--fg-muted);align-items:center;gap:10px;padding:6px 0 0;font-size:11px;display:flex}.search-meta[hidden]{display:none}.search-meta button{font:inherit;font-family:var(--mono);letter-spacing:.08em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.search-meta button:hover{color:var(--accent-fg);background:var(--accent)}#q-cat:not(:empty){color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;padding:3px 10px;font-weight:600}main.wrap{padding:2px 24px 48px}.cat{scroll-margin-top:calc(var(--header-h) + 56px);padding:26px 0 4px}.cat+.cat{border-top:1px solid var(--rule)}.cat-head{border-left:3px solid var(--accent);align-items:baseline;gap:12px;margin:0 0 18px;padding-left:12px;display:flex}.cat-index{grid-template-columns:128px minmax(0,1fr);align-items:start;gap:0 22px;display:grid}.cat-side{top:calc(var(--header-h) + 56px);flex-direction:column;gap:6px;display:flex;position:sticky}.cat-no{font-family:var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:rgb(var(--accent-rgb) / .45);font-size:30px;font-weight:700;line-height:.86}.cat-index .cat-head{border-left:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 9px;margin:0;padding-left:0;display:grid}.cat-index .cat-head .count{grid-column:2;justify-self:start;margin-left:0}.cat-head .emoji{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:9px;flex:none;place-items:center;width:28px;height:28px;font-size:14px;line-height:1;display:grid}.cat-head h2{letter-spacing:-.03em;margin:0;font-size:20px;font-weight:800}.cat-head h2 a:hover{color:var(--accent)}.cat-head .count{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--fg-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:5px 11px;font-size:11px;font-weight:700;line-height:1;transition:color .12s,background .12s,border-color .12s}.cat-head .count:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.cat-head .count[aria-pressed=true]{color:var(--accent-fg);background:var(--accent);border-color:var(--accent)}.grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--card-min)), 1fr));align-items:stretch;gap:10px;display:grid}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;gap:11px;padding:11px 13px;transition:box-shadow .16s,border-color .16s,transform .16s;display:flex;position:relative}.card:after{content:"";background:var(--accent);opacity:0;pointer-events:none;z-index:3;border-radius:0 3px 3px 0;width:3px;transition:opacity .16s,transform .16s;position:absolute;top:9px;bottom:9px;left:0;transform:scaleY(.5)}.card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card:hover:after{opacity:1;transform:none}.favicon{background:var(--chip);width:30px;height:30px;color:var(--fg-muted);border:1px solid #0000;border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:800;transition:background .16s,border-color .16s;display:grid;position:relative;overflow:hidden}.favicon img{width:100%;height:100%;padding:var(--favicon-pad);object-fit:contain;position:absolute;inset:0}.card:hover .favicon{background:var(--accent-soft);border-color:var(--accent-line)}.card .body{flex-direction:column;flex:1;min-width:0;display:flex}.card .name{letter-spacing:-.01em;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:700;line-height:1.3;display:flex}.card-hit{z-index:1;border-radius:inherit;position:absolute;inset:0}.card .nm{z-index:2;white-space:nowrap;text-overflow:ellipsis;min-width:0;position:relative;overflow:hidden}.card a.nm:hover{color:var(--accent)}.card .tag{white-space:nowrap;text-overflow:ellipsis;max-width:55%;font-family:var(--mono);letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;flex:none;padding:1px 8px;font-size:10px;font-weight:700;overflow:hidden}.card .desc{color:var(--fg-muted);-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;margin:3px 0 0;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.card .host{font-family:var(--mono);letter-spacing:.06em;color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;line-height:1.4;overflow:hidden}.card.is-hidden{display:none}.card.is-active{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.card.is-active .desc{color:var(--fg-muted)}.card mark{background:var(--accent);color:var(--accent-fg);border-radius:1px;padding:0 1px}.empty{text-align:center;max-width:460px;font-family:var(--mono);letter-spacing:.08em;color:var(--fg-muted);background:var(--bg-elevated);border:1px dashed var(--border-strong);border-radius:var(--radius);margin:24px auto 0;padding:44px 24px;font-size:12px;display:none}.empty.show{display:block}.site-footer{border-top:1px solid var(--border);color:var(--fg-subtle);font-family:var(--mono);letter-spacing:.1em;text-align:center;background:var(--bg-elevated);padding:22px 0;font-size:11px}.site-footer a{color:var(--fg-muted)}.site-footer a:hover{color:var(--accent)}.ad{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);position:relative}.ad__chip{z-index:1;font-family:var(--mono);letter-spacing:.1em;color:var(--fg-subtle);border:1px solid var(--border);border-radius:6px;padding:3px 6px;font-size:10px;line-height:1;position:absolute;top:8px;left:10px}.ad__inner{align-items:center;min-height:100%;padding:14px;display:flex}.ad__content{align-items:center;gap:12px;width:100%;display:flex}.ad__logo{border:1px solid var(--border);width:38px;height:38px;color:var(--fg);border-radius:9px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.ad__text{flex-direction:column;flex:1;min-width:0;display:flex}.ad__title{color:var(--fg);font-size:14px;font-weight:700}.ad__sub{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ad__cta{color:var(--accent-fg);background:var(--accent);border-radius:8px;flex:none;padding:7px 14px;font-size:13px;font-weight:700}a.ad:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md)}a.ad:hover .ad__cta,.ad__cta:hover{background:var(--accent-strong)}.ad--leaderboard{max-width:var(--max-w);margin:14px auto 0}.ad--wide{margin-top:40px}.ad--wide .ad__content{gap:18px}.ad--in-feed.card{align-items:flex-start;gap:11px;padding:11px 13px;display:flex}.ad--in-feed:hover{border-color:var(--border-strong)}.ad--in-feed .ad__inner{width:100%;min-height:0;padding:0}.ad--in-feed .ad__content{flex-direction:row;align-items:flex-start;gap:10px;height:100%}.ad--in-feed .ad__logo{width:30px;height:30px;font-size:12px}.ad--in-feed .ad__text{flex:1;min-width:0;padding-right:26px}.ad--in-feed .ad__title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.ad--in-feed .ad__sub{white-space:normal;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;margin-top:3px;line-height:1.45;display:-webkit-box;overflow:hidden}.ad--in-feed .ad__cta{display:none}.ad--in-feed .ad__chip{top:10px;left:auto;right:10px}.ad--box .ad__content{flex-direction:column;align-items:flex-start;gap:10px}.ad--box .ad__sub{white-space:normal}.ad--box .ad__cta{text-align:center;align-self:stretch;margin-top:auto}@media (prefers-reduced-motion:no-preference){.grid>*{animation:.42s cubic-bezier(.2,.7,.3,1) both rise}.grid>:first-child{animation-delay:20ms}.grid>:nth-child(2){animation-delay:50ms}.grid>:nth-child(3){animation-delay:80ms}.grid>:nth-child(4){animation-delay:.11s}.grid>:nth-child(5){animation-delay:.14s}.grid>:nth-child(6){animation-delay:.17s}.grid>:nth-child(n+7){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}@media (width<=900px){.site-header .bar{gap:12px}.header-search{max-width:none}.cat-index{display:block}.cat-side{flex-direction:row;align-items:baseline;gap:10px;margin-bottom:16px;position:static}.cat-no{font-size:20px}.cat-index .cat-head{align-items:baseline;gap:10px;display:flex}.cat-index .cat-head .count{margin-left:auto}}@media (width<=700px){.kbd-hint{display:none}.header-search input{padding-right:12px}}@media (width<=620px){:root{--favicon-pad:4px}.wrap,main.wrap{padding-left:16px;padding-right:16px}.brand-name{display:none}.auth-btn{padding:0 9px}.auth-user{display:none}.cat{padding-top:34px}.cat-head h2{font-size:19px}}@media (width<=420px){.header-search .icon{display:none}.header-search input{padding-left:12px}}
