.tools-page { background: #fffaf2; color: #30234b; }
.tool-hero { padding: 145px 0 72px; background: #f0ebfc; }
.tool-hero h1 { max-width: 850px; margin: 16px 0 24px; font-size: clamp(40px, 5.2vw, 66px); line-height: 1.06; letter-spacing: -.035em; }
.tool-lead { max-width: 680px; font-size: 18px; line-height: 1.7; color: #514361; }
.tool-breadcrumb { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; font-size: 13px; color: #514361; }
.tool-breadcrumb a, .tool-faq a, .tool-boundary a, .audit-report a:not(.button), .tool-status a { text-decoration: underline; text-underline-offset: 3px; }
.tool-hero-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 76px; align-items: center; }
.tool-scope { border-inline-start: 1px solid #bcaed5; padding-inline-start: 32px; }
.tool-kicker { display: block; font-size: 13px; margin-bottom: 22px; color: #514361; }
.tool-scope > div { display: flex; gap: 18px; padding: 18px 0; border-bottom: 1px solid #d7cfe7; }
.tool-scope b { font: 400 13px/1.8 var(--mono); color: #5139d8; }
.tool-scope span { font-size: 17px; font-weight: 600; }
.tool-scope small { display: block; font-size: 14px; font-weight: 400; margin-top: 6px; color: #514361; }
.tool-form-card { margin-top: 40px; padding: 28px 32px; border: 1px solid #dddce0; border-radius: 16px; background: #fff; box-shadow: 0 8px 28px #30234b08; }
.tool-form-card label { display: block; font-size: 15px; font-weight: 600; margin-bottom: 12px; }
.tool-input-row { display: flex; align-items: stretch; gap: 12px; }
.tool-input-row input { min-width: 0; flex: 1; width: 100%; min-height: 56px; padding: 14px 18px; border: 1px solid #7c8190; border-radius: 8px; color: #30234b; background: #fff; font: 400 16px/1.5 Manrope,system-ui,sans-serif; }
.tool-input-row .button { flex-shrink: 0; min-height: 56px; white-space: nowrap; }
.tool-input-row .button:disabled { opacity: .65; cursor: wait; }
.tool-form-card #audit-help { font-size: 13px; line-height: 1.6; margin: 12px 0 0; color: #514361; }
.tool-status { font-size: 15px; line-height: 1.6; margin: 12px 0 0; color: #514361; }
.tool-status:empty { display: none; }
.tool-status[data-error="true"] { color: #a3343e; }
.tool-text-button { min-height: 44px; border: 0; background: transparent; color: #5139d8; font: inherit; text-decoration: underline; cursor: pointer; }
.tool-text-button[hidden], [data-audit-retry][hidden] { display: none; }
.tool-section { padding: 72px 0; }
.tool-section h2 { font-size: clamp(28px,3vw,40px); line-height: 1.2; margin: 8px 0 20px; max-width: 850px; letter-spacing: -.025em; }
.tool-section h3 { font-size: 21px; line-height: 1.3; margin: 18px 0 12px; }
.tool-section p { max-width: 68ch; color: #514361; line-height: 1.7; }
.tool-section-heading { display: flex; gap: 32px; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.tool-section-heading > p { max-width: 34ch; font-size: 15px; }
.tool-recent-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.tool-recent-card { background: #fff; border: 1px solid #dddce0; border-radius: 12px; padding: 24px; display: flex; flex-direction: column; gap: 12px; transition: border-color .15s; }
.tool-recent-card:hover { border-color: #7653bd; }
.tool-recent-card h3 { margin: 0; font-size: 19px; }
.tool-recent-card p { font-size: 13px; margin: 0; }
.tool-recent-score { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:14px; font-size:14px; }
.tool-recent-score b { font-size:26px; font-variant-numeric:tabular-nums; }
.tool-recent-score small { font-weight:400; font-size:13px; }
.tool-muted { color:#514361; font-size:14px; }
.tool-lavender { background:#f0ebfc; }
.tool-explainer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin:40px 0; }
.tool-explainer-grid > div > span { color:#5139d8; font:400 13px/1.5 var(--mono); }
.tool-boundary { padding-top:24px; border-top:1px solid #ccc2df; font-size:14px; max-width:90ch !important; }
.tool-faq { display:grid; grid-template-columns:1fr 1.2fr; gap:70px; }
.tool-faq details { padding:20px 0; border-bottom:1px solid #dddce0; }
.tool-faq summary { cursor:pointer; font-size:17px; font-weight:600; line-height:1.5; }
.tool-faq details p { margin-top:16px; font-size:15px; }
.tool-cta { background:#f0ebfc; }
.tool-cta .button { margin-top:20px; }
.tool-feature-card { display:grid; grid-template-columns:.7fr 1.3fr; border:1px solid #dddce0; border-radius:18px; overflow:hidden; background:#fff; }
.tool-feature-card > div:last-child { padding:44px; }
.tool-feature-visual { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px; background:#f0ebfc; color:#5139d8; }
.tool-feature-visual svg { width:min(220px,100%); }
.tool-feature-visual span { margin-top:20px; font:400 11px/1.5 var(--mono); letter-spacing:.03em; }
.tool-inline-list { list-style:none; display:flex; flex-wrap:wrap; gap:8px 20px; padding:0; margin:24px 0; font-size:13px; color:#514361; }
.tool-feature-card:hover .read-link { text-decoration:underline; }
.tool-resource-entry { background:#f0ebfc; }
.tool-resource-entry p { max-width:65ch; margin:16px 0 24px; }
.audit-report { padding:135px 0 72px; }
.audit-header { display:grid; grid-template-columns:1fr auto; gap:32px; margin-bottom:32px; }
.audit-header h1 { font-size:clamp(32px,4vw,52px); line-height:1.12; letter-spacing:-.03em; margin:12px 0 20px; overflow-wrap:anywhere; }
.audit-summary { font-size:17px; color:#514361; line-height:1.7; max-width:74ch; }
.audit-meta { display:flex; gap:10px 24px; flex-wrap:wrap; font-size:13px; color:#514361; margin:20px 0; }
.audit-score { display:flex; flex-direction:column; align-items:center; justify-content:center; width:180px; padding:24px; border:1px solid #dddce0; border-radius:16px; background:#fff; align-self:start; }
.audit-score strong { font-size:56px; line-height:1.15; font-variant-numeric:tabular-nums; }
.audit-score small { font-size:13px; color:#514361; }
.audit-grade { margin:12px 0 0; font-weight:600; text-align:center; }
.audit-panel { padding:30px; border:1px solid #dddce0; border-radius:12px; background:#fff; margin-top:24px; }
.audit-panel h2 { font-size:26px; margin:0 0 12px; line-height:1.25; }
.audit-panel > p { color:#514361; line-height:1.7; max-width:80ch; }
.audit-finding { display:grid; grid-template-columns:125px 1fr; gap:20px; padding:24px 0; border-top:1px solid #dddce0; }
.audit-finding:first-of-type { margin-top:24px; }
.audit-finding h3 { margin:0 0 8px; font-size:17px; line-height:1.5; }
.audit-finding p { margin:0; color:#514361; font-size:15px; line-height:1.7; }
.audit-level { font-size:12px; font-weight:600; padding:6px 10px; border-radius:6px; align-self:start; width:fit-content; }
.audit-warning { background:#fff1d4; color:#795214; }
.audit-note { background:#f0ebfc; color:#514361; }
.audit-good { background:#e7f4ed; color:#176448; }
.audit-permissions details { border-top:1px solid #dddce0; padding:18px 0; }
.audit-permissions summary { cursor:pointer; font-weight:600; line-height:1.6; }
.audit-permissions ul { list-style:none; padding:0; }
.audit-permissions li { display:flex; gap:20px; justify-content:space-between; padding:16px 0; border-bottom:1px solid #eee; line-height:1.6; }
.audit-permissions li p { margin:6px 0 0; color:#514361; font-size:14px; }
.audit-rating-row { display:grid; grid-template-columns:60px 1fr 90px; gap:16px; align-items:center; margin:14px 0; font-size:14px; }
.audit-rating-row progress { width:100%; height:10px; accent-color:#7653bd; }
.audit-counts { display:flex; gap:12px; flex-wrap:wrap; margin:24px 0; }
.audit-review-links { list-style:none; padding:0; }
.audit-review-links li { padding:12px 0; line-height:1.7; }
.audit-actions { display:flex; flex-wrap:wrap; gap:16px; margin:24px 0; align-items:center; }
.audit-report .tool-boundary { margin:24px 0; }
.tools-page :focus-visible { outline:3px solid #5139d8; outline-offset:4px; }
@media(max-width:900px) {
 .tool-hero-grid { gap:32px; grid-template-columns:1.2fr 1fr; }
 .tool-faq { grid-template-columns:1fr; gap:16px; }
 .tool-recent-grid { grid-template-columns:1fr 1fr; }
 .tool-feature-card { grid-template-columns:.6fr 1fr; }
}
@media(max-width:640px) {
 .tool-hero { padding:112px 0 40px; }
 .tool-hero-grid,.tool-feature-card,.tool-explainer-grid,.tool-recent-grid { grid-template-columns:1fr; }
 .tool-scope { display:none; }
 .tool-scope > div { padding:12px 0; }
 .tool-hero h1 { font-size:40px; }
 .tool-lead { font-size:17px; }
 .tool-form-card { padding:22px 18px; margin-top:28px; }
 .tool-input-row { flex-direction:column; }
 .tool-section { padding:48px 0; }
 .tool-section-heading { align-items:start; flex-direction:column; gap:0; }
 .tool-feature-card > div:last-child { padding:26px; }
 .tool-feature-visual { padding:26px; }
 .tool-feature-visual svg { width:130px; }
 .tool-explainer-grid { gap:24px; }
 .audit-report { padding-top:112px; }
 .audit-header { grid-template-columns:1fr; }
 .audit-score { width:100%; flex-direction:row; flex-wrap:wrap; gap:8px 20px; padding:20px; }
 .audit-score strong { font-size:44px; }
 .audit-score .audit-grade { margin:0; }
 .audit-panel { padding:22px 18px; }
 .audit-finding { grid-template-columns:1fr; gap:12px; }
 .audit-permissions li { flex-direction:column; gap:8px; }
 .audit-rating-row { grid-template-columns:55px 1fr 70px; gap:10px; font-size:13px; }
}
.audit-panel blockquote { margin: 12px 0; padding-inline-start: 16px; border-inline-start: 2px solid #bcaed5; color: #514361; font-size: 15px; line-height: 1.7; }
