.tools-page h1.title::after { content: '.'; color: var(--site-yellow); }
.tools-section { margin-top: 44px; }
.tool-entries { min-width: 0; }
.tools-page .tool-link {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 44px;
  align-items: center;
  padding: 32px 24px;
  border-top: 1px solid var(--site-soft);
  color: var(--site-ink);
  text-decoration: none;
}
.tool-summary, .tool-body { min-width: 0; }
.tool-icon { display: flex; align-items: center; gap: 10px; min-height: 32px; margin-bottom: 20px; color: var(--site-muted); }
.tool-icon img { display: block; width: 32px; height: 32px; object-fit: contain; }
.tool-icon svg { width: 32px; height: 32px; }
.tool-icon--editors > span { font-size: 16px; }
.tool-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.tool-platform { display: inline-flex; align-items: center; gap: 6px; color: var(--site-muted); font-size: .7rem; line-height: 1.5; white-space: nowrap; }
.tool-platform img { display: block; width: 16px; height: 16px; opacity: .65; }
.tools-page .tool-title {
  margin: 0;
  color: var(--site-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.4rem, 2.1vw, 1.9rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.025em;
  text-wrap: pretty;
}
.tool-description { max-width: 44ch; margin: 14px 0 0; color: var(--site-muted); font-size: .875rem; line-height: 1.7; }
.tool-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; color: var(--site-muted); font-size: .8rem; font-weight: 500; transition: color 180ms ease; }
.tool-cta .engraving-icon { display: block; width: 22px; height: 22px; transition: transform 180ms ease; }
.tool-preview { position: relative; aspect-ratio: 55 / 36; overflow: hidden; border-radius: 12px; border: 1px solid var(--site-soft); background: #111; isolation: isolate; }
.tool-preview img, .tool-preview video { display: block; width: 100%; height: 100%; object-fit: cover; }
.tool-link:is([data-tool-preview="tokens"], [data-tool-preview="tree"]) .tool-preview img,
.tool-link:is([data-tool-preview="tokens"], [data-tool-preview="tree"]) .tool-preview video { object-fit: contain; }
.tool-preview video { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 500ms ease; }
.tool-preview.is-playing video { opacity: 1; }
.tool-preview::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: var(--site-yellow);
  transform: scaleX(var(--preview-progress, 0));
  transform-origin: left;
  opacity: 0;
  transition: opacity 350ms ease;
  pointer-events: none;
}
.tool-preview.is-playing::after { opacity: .9; }
.tools-page .tool-link:focus-visible { outline: 2px solid var(--site-ink); outline-offset: 6px; }
.tool-link:focus-visible .tool-cta { color: var(--site-yellow); }
.tool-link:focus-visible .tool-cta .engraving-icon { transform: translateX(4px); }
@media (hover: hover) {
  .tools-page .tool-link:hover { background-color: color-mix(in srgb, var(--site-yellow) 3%, var(--site-white)); }
  .tools-page .tool-link:hover .tool-cta { color: var(--site-yellow); }
  .tools-page .tool-link:hover .tool-cta .engraving-icon { transform: translateX(4px); }
}
@media (max-width: 767px) {
  .tools-section { margin-top: 36px; }
  .tools-page .tool-link { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px 18px; }
  .tool-icon { margin-bottom: 14px; }
  .tools-page .tool-title { font-size: 1.55rem; }
  .tool-description { max-width: none; }
  .tool-cta { margin-top: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .tool-cta, .tool-cta .engraving-icon, .tool-preview video, .tool-preview::after { transition: none; }
  .tools-page .tool-link .tool-cta .engraving-icon { transform: none; }
}
