/* Shared tool action: rolling label, light arrow, and no underline. */
a.tool-launch{display:inline-flex;align-items:center;justify-content:flex-start;gap:13px;min-height:44px;padding:0;border:0;border-radius:0;background:none;color:var(--red);font:italic 13px/20px var(--mono,monospace);white-space:nowrap;text-decoration:none;touch-action:manipulation}
a.tool-launch:hover{background:none;color:var(--red);text-decoration:none}
a.tool-launch svg{width:16px;height:16px;flex:none}
a.tool-launch:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.tool-label{display:inline-flex;height:20px;line-height:20px;overflow:hidden}
.tool-letter{display:inline-flex;flex-direction:column}
.tool-letter>span{display:block;height:20px;line-height:20px}
@keyframes tool-letter-roll{0%,8.06%,80.65%,100%{transform:translateY(0)}32.26%,58.06%{transform:translateY(-20px)}}
@keyframes tool-arrow-roll{0%,87.1%,100%{transform:translateX(0)}39.2%,61%{transform:translateX(4px)}}
a.tool-launch[data-tool-visible="true"]:focus-visible .tool-letter{animation:tool-letter-roll 3.1s cubic-bezier(.2,.8,.2,1) infinite;animation-delay:calc(var(--tool-i)*65ms)}
a.tool-launch[data-tool-visible="true"]:focus-visible svg{animation:tool-arrow-roll 3.1s cubic-bezier(.2,.8,.2,1) infinite}
@media(hover:hover){
 a.tool-launch[data-tool-visible="true"]:hover .tool-letter{animation:tool-letter-roll 3.1s cubic-bezier(.2,.8,.2,1) infinite;animation-delay:calc(var(--tool-i)*65ms)}
 a.tool-launch[data-tool-visible="true"]:hover svg{animation:tool-arrow-roll 3.1s cubic-bezier(.2,.8,.2,1) infinite}
}
html[data-tool-paused="true"] .tool-launch *,[inert] .tool-launch *,[aria-hidden="true"] .tool-launch *{animation:none!important}
.index-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px}
.has-tool-action .index-actions .open-hint{display:flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:44px}
.detail-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px 24px;margin-top:20px}
.detail-actions>.action{margin-top:0}
.archive-heading>.tool-launch{margin-top:24px}
@media(max-width:600px){
 .has-tool-action>.index-row>summary{grid-template-columns:23px minmax(0,1fr);row-gap:0}
 .has-tool-action>.index-row>summary>.index-actions{grid-column:2/-1;justify-self:end}
 .has-tool-action .tool-launch{font-size:12px;gap:10px}
 .detail-actions{gap:10px 20px}
}
@media(prefers-reduced-motion:reduce){.tool-launch *{animation:none!important}}
