/* WoluTools tool directory */
.td-sprite{position:absolute;width:0;height:0;overflow:hidden}
.public-directory-page{background:#f6f7f9}
.public-directory-page main{--td-ink:#101828;--td-muted:#475467;--td-line:#e4e7ec;--td-blue:#1768e5;--td-top:68px;color:var(--td-ink)}
.td-hero{background:radial-gradient(1200px 380px at 12% -40%,#dfe9ff 0,rgba(223,233,255,0) 70%),#fff;border-bottom:1px solid var(--td-line);padding:34px 0 26px}
.td-hero .shell,.td-bar .shell,.td-main{width:min(1240px,calc(100% - 40px));margin-inline:auto}
.td-crumbs{font-size:.84rem;color:var(--td-muted);display:flex;gap:8px;margin:0 0 14px}
.td-crumbs a{color:var(--td-muted)}
.td-hero h1{font-family:Sora,Manrope,system-ui,sans-serif;font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.05;letter-spacing:-.035em;margin:0 0 12px;color:var(--td-ink)}
.td-lead{max-width:760px;margin:0 0 22px;color:var(--td-muted);font-size:1.05rem;line-height:1.6}
.td-lead b{color:var(--td-ink)}
.td-lead a{color:var(--td-blue);font-weight:700}
.td-search{position:relative;max-width:760px}
.td-search input{width:100%;min-height:58px;border:1.5px solid #cfd6e2;border-radius:14px;background:#fff;padding:0 56px 0 52px;font:inherit;font-size:1.05rem;color:var(--td-ink);box-shadow:0 1px 2px rgba(16,24,40,.05),0 8px 24px rgba(16,24,40,.06);transition:border-color .15s,box-shadow .15s}
.td-search input::placeholder{color:#8a94a6}
.td-search input:focus{outline:none;border-color:var(--td-blue);box-shadow:0 0 0 4px rgba(23,104,229,.16)}
.td-search-ico{position:absolute;left:18px;top:50%;width:22px;height:22px;transform:translateY(-50%);fill:none;stroke:#667085;stroke-width:2;stroke-linecap:round}
.td-search kbd{position:absolute;right:16px;top:50%;transform:translateY(-50%);font:600 .8rem/1 Manrope,system-ui,sans-serif;color:#667085;border:1px solid #d0d5dd;border-radius:6px;padding:4px 7px;background:#f9fafb}
.td-access{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.td-access button,.td-chip{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border:1px solid var(--td-line);border-radius:999px;background:#fff;color:#344054;font:600 .88rem/1 Manrope,system-ui,sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.td-access button span,.td-chip>span:last-child{color:#5d6b82;font-weight:700}
.td-access button:hover,.td-chip:hover{border-color:#b9c3d3;background:#f9fafb}
.td-access button[aria-pressed=true],.td-chip[aria-pressed=true]{background:var(--td-ink);border-color:var(--td-ink);color:#fff}
.td-access button[aria-pressed=true] span,.td-chip[aria-pressed=true]>span:last-child{color:#c9d2e3}
.td-access button:focus-visible,.td-chip:focus-visible,.td-card:focus-visible,.td-feature:focus-visible{outline:3px solid rgba(23,104,229,.45);outline-offset:2px}
.td-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;background:currentColor}
.td-bar{position:sticky;top:var(--td-top);z-index:20;background:rgba(246,247,249,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--td-line)}
.td-chips{display:flex;gap:8px;overflow-x:auto;padding:11px 0;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}
.td-chips::-webkit-scrollbar{display:none}
.td-main{padding:22px 0 64px}
.td-status{margin:0 0 6px;min-height:1.2em;color:var(--td-muted);font-size:.9rem;font-weight:600}
.td-featured{margin:6px 0 34px}
.td-featured h2,.td-group-head h2{font-family:Sora,Manrope,system-ui,sans-serif;font-size:1.28rem;letter-spacing:-.02em;margin:0;color:var(--td-ink)}
.td-featured h2{margin-bottom:14px}
.td-featured ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.td-feature{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--td-line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s,border-color .18s}
.td-feature:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,24,40,.1);border-color:#cfd6e2}
.td-feature-img{display:block;aspect-ratio:1200/630;background:#0e1a33;overflow:hidden}
.td-feature-img img{display:block;width:100%;height:100%;object-fit:cover}
.td-feature-copy{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:14px 16px 16px;align-items:start}
.td-feature-copy strong{font-size:1rem;color:var(--td-ink)}
.td-feature-copy>span{grid-column:1;color:var(--td-muted);font-size:.9rem;line-height:1.4}
.td-feature-copy em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal}
.td-group{margin:0 0 38px;scroll-margin-top:calc(var(--td-top) + 72px)}
.td-group-head{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--td-line)}
.td-group-head>div{flex:1;min-width:0}
.td-group-head p{margin:3px 0 0;color:var(--td-muted);font-size:.92rem;line-height:1.45}
.td-group-count{flex:none;color:#667085;font-size:.84rem;font-weight:700;background:#fff;border:1px solid var(--td-line);border-radius:999px;padding:6px 11px}
.td-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.td-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 13px;height:100%;padding:15px 15px 14px;background:#fff;border:1px solid var(--td-line);border-radius:14px;color:inherit;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s}
.td-card:hover{transform:translateY(-2px);border-color:#c5cedd;box-shadow:0 10px 26px rgba(16,24,40,.09)}
.td-card:hover strong{color:var(--td-blue)}
.td-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--bg);color:var(--fg);grid-row:1/3}
.td-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.td-ico-lg{width:48px;height:48px;border-radius:13px}
.td-ico-lg svg{width:24px;height:24px}
.td-text{min-width:0;display:grid;gap:3px;padding-right:2px}
.td-text strong{font-size:.98rem;line-height:1.3;color:var(--td-ink);transition:color .15s}
.td-desc{color:var(--td-muted);font-size:.86rem;line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.td-card .td-badge{grid-column:2;justify-self:start;margin-top:6px}
.td-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font:700 .74rem/1 Manrope,system-ui,sans-serif;white-space:nowrap;letter-spacing:.01em}
.b-free{background:#e3f6ec;color:#067647}.td-dot.b-free{background:#12b76a}
.b-daily{background:#e6efff;color:#1250b5}.td-dot.b-daily{background:#1768e5}
.b-ai{background:#f0ebff;color:#5b34c9}.td-dot.b-ai{background:#7c5cff}
.c-red{--bg:#fdecec;--fg:#d92d20}.c-violet{--bg:#f1ecff;--fg:#6e4ee6}.c-rose{--bg:#fdebf2;--fg:#d6336c}.c-green{--bg:#e3f6ec;--fg:#0e8a55}
.c-amber{--bg:#fff3d6;--fg:#b86e00}.c-orange{--bg:#fdeee4;--fg:#d9541e}.c-blue{--bg:#e6efff;--fg:#1768e5}.c-slate{--bg:#eef1f5;--fg:#344054}
.c-indigo{--bg:#ecebfd;--fg:#4b3fd6}.c-teal{--bg:#dff5f1;--fg:#0b8574}.c-cyan{--bg:#e0f4f9;--fg:#0a7ea0}.c-lime{--bg:#eef6d8;--fg:#4d7c0f}
.td-chip .td-dot{width:8px;height:8px;background:var(--fg)}
.td-empty{text-align:center;background:#fff;border:1px dashed #cfd6e2;border-radius:16px;padding:40px 20px;margin:10px 0 40px}
.td-empty h2{margin:0 0 6px;font-size:1.3rem}.td-empty p{margin:0 0 18px;color:var(--td-muted)}
.td-help{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#101828;color:#fff;border-radius:18px;padding:26px 28px;margin-top:10px}
.td-help h2{margin:0 0 10px;font-size:1.15rem;color:#fff}
.td-help ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;color:#d0d5dd;font-size:.93rem}
.td-help li{display:flex;align-items:center;gap:9px}.td-help b{color:#fff}
.td-help .button{flex:none}
.td-item[hidden],.td-group[hidden],.td-featured[hidden]{display:none!important}
@media (max-width:1080px){.td-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .td-hero{padding:22px 0 18px}.td-hero .shell,.td-bar .shell,.td-main{width:calc(100% - 32px)}
  .td-lead{font-size:.96rem;margin-bottom:16px}
  .td-search input{min-height:52px;font-size:1rem;padding-right:16px}.td-search kbd{display:none}
  .td-access{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding:0 16px}.td-access::-webkit-scrollbar{display:none}
  .td-featured ul{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;margin-inline:-16px;padding:0 16px 6px;scrollbar-width:none}
  .td-featured li{scroll-snap-align:start}.td-featured ul::-webkit-scrollbar{display:none}
  .td-grid{grid-template-columns:1fr;gap:8px}
  .td-card{grid-template-columns:40px minmax(0,1fr) auto;padding:12px 13px;gap:2px 12px;align-items:center}
  .td-ico{width:40px;height:40px;border-radius:11px}
  .td-desc{-webkit-line-clamp:2}
  .td-card .td-badge{grid-column:3;grid-row:1/3;margin:0;align-self:center}
  .td-group-head p{display:none}.td-group-head{gap:12px}
  .td-help{flex-direction:column;align-items:stretch;padding:22px 20px}
}
@media (max-width:400px){.td-card{grid-template-columns:40px minmax(0,1fr);align-items:start}.td-card .td-ico{grid-row:1/4}.td-card .td-badge{grid-column:2;grid-row:auto;justify-self:start;margin-top:5px}}
@media (prefers-reduced-motion:reduce){.td-card,.td-feature{transition:none}.td-card:hover,.td-feature:hover{transform:none}}
@media (max-width:760px){.public-directory-page main{--td-top:64px}}
.td-popular{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:12px 0 0;font-size:.86rem;color:#667085}
.td-popular span{font-weight:700;color:#475467}
.td-popular button{border:0;background:none;padding:4px 2px;font:600 .86rem/1.2 Manrope,system-ui,sans-serif;color:#1768e5;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(23,104,229,.3);text-underline-offset:3px}
.td-popular button:hover{text-decoration-color:currentColor}
@media (min-width:1081px){.td-chips{flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none}}
@media (max-width:760px){.td-popular{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding:0 16px}.td-popular::-webkit-scrollbar{display:none}.td-popular button{white-space:nowrap}}
.td-lang{display:inline-block;margin-left:7px;padding:2px 5px;border:1px solid #d0d5dd;border-radius:5px;color:#667085;font:700 .66rem/1 Manrope,system-ui,sans-serif;letter-spacing:.05em;vertical-align:2px}
