/* Color tokens + body font + dark mode live in theme.css (loaded first).
   .page-body padding is not overridden here — theme.css's 24px 32px 48px
   default is used as-is (this page has no documented reason to differ). */
.page-body { max-width: 700px; margin: 0 auto; }
.page-header { margin-bottom: 28px; }
.page-header h1 { margin: 0; font-size: 24px; }
.tool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.tool-card {
    display: block;
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--bg-card);
    text-decoration: none;
    color: inherit;
    transition: box-shadow .15s, background .15s;
}
.tool-card:hover { background: var(--bg); box-shadow: 0 2px 8px var(--shadow); }
.tool-card h2 { margin: 0 0 6px; font-size: 17px; }
.tool-card p  { margin: 0; font-size: 13px; color: var(--text-muted); }
.tool-card.disabled { opacity: .5; pointer-events: none; cursor: default; }
