/* Tool directory: compact entry, catalog groups and the shared site shell. */
.tools-hub .case-width { width: min(1120px, calc(100% - 48px)); }
.tools-hub :is(h1, h2, h3) { font-weight: var(--weight-medium); }
.tools-hero { padding-block: var(--space-6) var(--space-5); }
.tools-hero h1 { margin: 0 0 var(--space-3); font-size: var(--text-40); line-height: 1.12; }
.tools-lead { max-width: 960px; margin: 0 0 var(--space-3); font-size: var(--text-16); line-height: 1.55; }
.tools-note { margin: 0; color: var(--ink-muted); font-size: var(--text-13); line-height: 1.5; }
.tool-directory { display: grid; gap: var(--space-4); }
.tool-group { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: var(--space-5); }
.tool-group > h2 { margin: var(--space-4) 0 0; font-size: var(--text-20); line-height: 1.25; }
.tool-directory-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.tool-directory-list > li { min-width: 0; }
.tools-hub .tool-directory-card { display: flex; flex-direction: column; height: 100%; min-height: 44px; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); color: var(--ink); text-decoration: none; }
.tool-directory-card:hover, .tool-directory-card:focus-visible { border-color: var(--ink); }
.tool-directory-name { display: flex; align-items: center; gap: var(--space-3); }
.tool-directory-name > span { flex: 0 0 24px; height: 24px; }
.tool-directory-name svg { width: 24px; height: 24px; display: block; }
.tool-directory-name h3 { margin: 0; font-size: var(--text-20); line-height: 1.25; }
.tool-directory-card p { margin: var(--space-3) 0; color: var(--ink-muted); font-size: var(--text-13); line-height: 1.5; }
.tool-directory-action { margin-top: auto; font-size: var(--text-13); font-weight: var(--weight-semibold); line-height: 1.5; }
.tools-chat { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); margin-block: var(--space-6); padding: var(--space-5); border: 1px solid var(--line-strong); border-radius: var(--radius-lg); }
.tools-chat h2 { margin: 0 0 var(--space-2); font-size: var(--text-24); line-height: 1.2; }
.tools-chat p { max-width: 760px; margin: 0; color: var(--ink-muted); font-size: var(--text-14); line-height: 1.5; }
.tools-chat .home-button { flex-shrink: 0; min-height: 44px; color: var(--paper); }
@media (max-width: 960px) {
  .tool-group { grid-template-columns: 140px minmax(0, 1fr); gap: var(--space-4); }
}
@media (max-width: 720px) {
  .tool-group { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .tool-group > h2 { margin: 0; }
  .tool-directory-list { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .tools-chat { flex-direction: column; align-items: stretch; }
}
@media (max-width: 600px) {
  .tools-hub .case-width { width: calc(100% - 32px); }
  .tools-hero { padding-block: var(--space-5); }
  .tools-hero h1 { font-size: var(--text-32); }
  .tools-lead { font-size: var(--text-14); }
  .tool-directory { gap: var(--space-5); }
  .tool-directory-name h3 { font-size: var(--text-20); }
}
