/* Tools page */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tools-bar{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.tsearch{position:relative;flex:1 1 320px;max-width:520px;display:block}
.tsearch .ic{position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;color:var(--muted);pointer-events:none}
.tsearch input{width:100%;min-height:50px;padding:0 16px 0 46px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font:600 16px var(--sans)}
.tsearch input::placeholder{color:var(--muted)}
.tsearch input:focus-visible{outline:none;border-color:var(--vtext);box-shadow:0 0 0 4px color-mix(in srgb,var(--violet) 28%,transparent)}
.tcount{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tchips{margin-bottom:28px;max-width:none}
.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
:root[data-theme=dark] .chip[aria-pressed=true]{background:#fff;color:#0E0B14;border-color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .chip[aria-pressed=true]{background:#fff;color:#0E0B14;border-color:#fff}}
.apps{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.app{display:flex;gap:16px;align-items:flex-start;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;transition:transform .25s,box-shadow .25s,border-color .25s}
.app[hidden]{display:none}
.app:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--mauve)}
.app .lg{flex:none;width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid #E0D8E4;display:grid;place-items:center}
.app .lg img{width:30px;height:30px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}
.app:hover .lg img,.app:focus-within .lg img{filter:none;opacity:1}
.app .lg.tile{background:var(--vtint);border-color:transparent;color:var(--vtext);font:800 22px var(--sans)}
.app .lg.tile .ic{width:26px;height:26px}
.app h3{font-size:1.02rem;letter-spacing:-.01em;margin-bottom:4px}
.app p{font-size:14.5px;line-height:1.5;color:var(--text2)}
.app .cat{display:block;margin-top:10px;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tnone{padding:28px;text-align:center;color:var(--text2);border:1px dashed var(--line);border-radius:16px}
.tnote{margin-top:28px;font-size:14px;color:var(--muted);max-width:70ch}
.apps.sup .app .cat{display:none}

.chip{transition:background .2s,color .2s,border-color .2s}
@media (max-width:640px){.apps{gap:10px}.app{padding:14px;gap:14px}.app .lg{width:46px;height:46px}.app .cat{display:none}.apps.sup .app{padding:16px}.tchips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-inline:calc(-1 * clamp(16px,4vw,32px));padding-inline:clamp(16px,4vw,32px)}.chip{flex:none}}
.tmore{margin-top:26px}
.sgroup{font-size:1.1rem;letter-spacing:-.01em;margin:34px 0 14px;color:var(--text)}
.sgroup:first-of-type{margin-top:0}
.app h4{font-size:1.02rem;letter-spacing:-.01em;margin-bottom:4px;font-weight:800}
.apps.sup .app p{font-size:14.5px}
#apps-more:empty{display:none}
.tools-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tlogo{width:32px;height:32px;border-radius:9px;background:#fff;border:1px solid #E0D8E4;display:grid;place-items:center}
.tlogo img{width:22px;height:22px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.app:hover .tlogo img{filter:none;opacity:1}
