.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:28px}.pager__btn{min-width:38px;height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text-2);font-size:13.5px;transition:color .2s var(--ease),border-color .2s var(--ease),background-color .2s var(--ease)}.pager__btn:hover:not(:disabled):not(.is-active){border-color:var(--brand);color:var(--brand)}.pager__btn:disabled{opacity:.4;cursor:not-allowed}.pager__btn--num{padding:0}.pager__btn.is-active{border-color:transparent;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:600}.pager__gap{padding:0 2px;color:var(--text-3)}.card{position:relative;display:flex;flex-direction:column;padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-s);cursor:pointer;overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}.card__body{display:flex;flex-direction:column;flex:1;min-width:0}.card:before{content:"";position:absolute;inset:0 0 auto;height:2.5px;background:linear-gradient(90deg,var(--accent, var(--brand)),var(--brand-2));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.card:hover,.card:focus-visible{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent, var(--brand)) 34%,transparent);box-shadow:var(--shadow-m)}.card:hover:before,.card:focus-visible:before{transform:scaleX(1)}.card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--accent, var(--brand));background:color-mix(in srgb,var(--accent, var(--brand)) 13%,transparent);transition:transform .28s var(--ease)}.card:hover .card__icon,.card:focus-visible .card__icon{animation:card-icon-bounce 1s ease-in-out}@keyframes card-icon-bounce{0%{transform:translateY(2px) scale(1) scale(1) rotate(0)}20%{transform:translateY(8px) scale(1.15) scale(.85) rotate(0)}40%{transform:translateY(-6px) scaleX(1.1) scaleY(.9) rotate(-5deg)}60%{transform:translateY(4px) scale(1.05) scale(.95) rotate(0)}80%{transform:translateY(-6px) scaleX(1.1) scaleY(.9) rotate(5deg)}to{transform:translate(0) scale(1.03) scale(.97) rotate(0)}}@media (prefers-reduced-motion: reduce){.card:hover .card__icon,.card:focus-visible .card__icon{animation:none}}.card__icon svg{width:21px;height:21px}.card__icon:has(.tool-logo){background:#fff;box-shadow:inset 0 0 0 1px #10152814}.card__title{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__desc{margin-top:7px;min-height:3.3em;font-size:13.5px;line-height:1.65;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__tags{display:flex;flex-wrap:nowrap;gap:6px;min-height:22px;margin-top:12px;margin-bottom:10px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 84%,transparent);mask-image:linear-gradient(90deg,#000 84%,transparent)}.card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--text-3)}.card__foot>:first-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card__go{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--accent, var(--brand));opacity:0;transform:translate(-6px);transition:opacity .28s var(--ease),transform .28s var(--ease)}.card__go svg{width:14px;height:14px;flex:none}.card:hover .card__go,.card:focus-visible .card__go{opacity:1;transform:none}.card--mine{flex-direction:row;align-items:flex-start;gap:18px;padding:20px}.card--mine .card__top{flex:none;flex-direction:column;align-items:center;gap:10px;margin-bottom:0}.card--mine .card__icon{width:54px;height:54px;border-radius:17px}.card--mine .card__icon svg{width:27px;height:27px}.card--mine .card__title{font-size:17px}.card--mine .card__desc{-webkit-line-clamp:3;line-clamp:3}@media (max-width: 720px){.card--mine{flex-direction:column;gap:0;padding:16px}.card--mine .card__top{flex-direction:row;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.card--mine .card__icon{width:42px;height:42px;border-radius:13px}.card--mine .card__icon svg{width:21px;height:21px}.card__go{opacity:1;transform:none}.card__tags{flex-wrap:wrap;-webkit-mask-image:none;mask-image:none}}.m-head{display:flex;gap:14px;align-items:center;padding-right:36px}.m-head__icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:14px;color:var(--accent, var(--brand));background:color-mix(in srgb,var(--accent, var(--brand)) 13%,transparent)}.m-head__icon svg{width:24px;height:24px}.m-head__icon:has(.tool-logo){background:#fff;box-shadow:inset 0 0 0 1px #10152814}.m-head__title{font-size:19px}.m-head__badge{margin-left:8px;font-size:11px;vertical-align:middle}.m-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}.m-meta__item{padding:3px 12px;border-radius:999px;border:1px solid transparent;background:var(--brand-soft);font-size:12.5px;font-weight:600;color:var(--text-2)}.m-detail{margin:14px 0 18px;font-size:14.5px;line-height:1.8;color:var(--text-2);white-space:pre-wrap;overflow-wrap:break-word}.m-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}.m-actions{display:flex;flex-wrap:wrap;gap:10px}.m-actions.is-inert{pointer-events:none}:root{--bg: #f5f5f5;--bg-soft: #ffffff;--card: rgba(255, 255, 255, .78);--card-solid: #ffffff;--text: #101528;--text-2: #5a6480;--text-3: #8c94ac;--line: rgba(16, 21, 40, .08);--line-strong: rgba(16, 21, 40, .14);--brand: #4f7cff;--brand-2: #7b5cff;--brand-soft: rgba(79, 124, 255, .1);--shadow-s: 0 1px 2px rgba(16, 21, 40, .05), 0 6px 18px -10px rgba(16, 21, 40, .16);--shadow-m: 0 2px 6px rgba(16, 21, 40, .06), 0 20px 40px -20px rgba(16, 21, 40, .28);--shadow-l: 0 30px 70px -28px rgba(40, 60, 140, .42);--radius-s: 10px;--radius: 16px;--radius-l: 24px;--maxw: 1140px;--nav-h: 64px;--ease: cubic-bezier(.22, .61, .36, 1);color-scheme:light}[data-theme=dark]{--bg: #0a0e19;--bg-soft: #101627;--card: rgba(22, 29, 46, .72);--card-solid: #161d2e;--text: #eaeefb;--text-2: #9aa5bf;--text-3: #6c7691;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--brand: #6d94ff;--brand-2: #9b7dff;--brand-soft: rgba(109, 148, 255, .14);--shadow-s: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 20px -12px rgba(0, 0, 0, .7);--shadow-m: 0 2px 8px rgba(0, 0, 0, .45), 0 24px 48px -24px rgba(0, 0, 0, .85);--shadow-l: 0 30px 80px -30px rgba(0, 0, 0, .9);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;font-size:15px;line-height:1.7;color:var(--text);background-color:var(--bg);background-image:linear-gradient(180deg,color-mix(in srgb,var(--brand) 8%,transparent) 0,transparent 520px);background-repeat:no-repeat;transition:background-color .35s var(--ease),color .35s var(--ease);overflow-x:hidden}h1,h2,h3{margin:0;line-height:1.25;letter-spacing:-.02em;font-weight:700}p{margin:0}ul{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}svg{display:block}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.88em;padding:.15em .42em;border-radius:6px;background:var(--brand-soft);color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}[hidden]{display:none!important}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.skip-link{position:absolute;left:50%;top:-60px;transform:translate(-50%);z-index:100;padding:10px 18px;border-radius:0 0 12px 12px;background:var(--brand);color:#fff;transition:top .2s var(--ease)}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.tool-logo{width:60%;height:60%;object-fit:contain}.card__tag{flex:none;padding:2px 9px;border-radius:7px;border:1px solid var(--line);font-size:11.5px;line-height:16px;white-space:nowrap;color:var(--text-3)}.card__badge{flex:none;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--brand);background:var(--brand-soft)}.card__badge--own{color:#b45309;background:#f59e0b2e}[data-theme=dark] .card__badge--own{color:#fcd34d;background:#f59e0b33}
