/* Favourite toggle on tool pages and the "My tools" shelf on the hub (tool-shelf.js). */
.ts-row{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.ts-row>.category-return{flex:1 1 auto;min-width:0}
.ts-bar{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;margin:6px 0}
.ts-star{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.ts-star:hover{border-color:var(--blue);color:var(--blue)}
.ts-star[aria-pressed="true"]{border-color:#f0b429;background:#fff8e6;color:#8a5a00}
.ts-mine{font-size:14px;color:var(--muted);text-decoration:none;white-space:nowrap}
.ts-mine:hover{color:var(--blue);text-decoration:underline}
.ts-star:focus-visible,.ts-mine:focus-visible,.ts-chip:focus-visible,.ts-clear:focus-visible{outline:3px solid #547dea;outline-offset:2px}
.ts-toast{position:fixed;left:50%;bottom:24px;z-index:60;max-width:min(560px,calc(100vw - 32px));padding:12px 18px;border-radius:12px;background:#172a47;color:#fff;font-size:14px;line-height:1.6;box-shadow:0 10px 30px rgba(15,30,60,.25);opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .2s,transform .2s}
.ts-toast.show{opacity:1;transform:translate(-50%,0)}
.tool-shelf{margin:0 0 22px;padding:16px 20px;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.ts-head{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;margin-bottom:8px}
.ts-head h2{margin:0;font-size:18px}
.ts-head span{font-size:13px;color:var(--muted)}
.ts-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0}
.ts-label{min-width:64px;font-size:13px;font-weight:700;color:var(--muted)}
.ts-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:14px;text-decoration:none}
.ts-chip:hover{border-color:var(--blue);color:var(--blue)}
.ts-chip-fav{border-color:#f3cf7a;background:#fff8e6}
.ts-clear{margin-left:auto;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}
html[data-xunl-theme="dark"] .ts-star[aria-pressed="true"],html[data-xunl-theme="dark"] .ts-chip-fav{border-color:#a07a1f;background:#2e2610;color:#f5d27a}
html[data-xunl-theme="dark"] .ts-toast{background:#e5edf9;color:#0b1220}
@media (max-width:640px){.ts-bar{width:100%;justify-content:space-between}.ts-label{min-width:100%}.ts-clear{margin-left:0}}
@media (prefers-reduced-motion:reduce){.ts-toast{transition:none}}
