/* Free tools (site_tools): form, results, tables, chart. Uses the site design tokens from style.css. */
.tool-hero{padding:40px 0 18px;max-width:860px}.tool-hero h1{font-size:clamp(1.9rem,4vw,3.1rem)}
.privacy{display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(90,209,154,.4);background:rgba(90,209,154,.07);border-radius:14px;padding:14px 16px;color:#d9f7e9;max-width:860px}
.privacy strong{color:#8ff0c2}
.tool{display:grid;gap:14px;max-width:980px}.tool label{font-weight:700}.tool .hint{font-size:.85rem;color:var(--muted);margin:-6px 0 0}
.tool textarea,.tool input[type=text],.tool select{width:100%;font:inherit;font-size:.9rem;padding:12px;border-radius:12px;border:1px solid var(--border);background:#0b1224;color:var(--text)}
.tool textarea{min-height:190px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;resize:vertical}
.tool textarea:focus,.tool input:focus,.tool select:focus{outline:2px solid var(--accent);outline-offset:1px}
.tool .pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tool .field{display:grid;gap:8px;min-width:0}
.tool input[type=file]{color:var(--muted);font-size:.85rem;max-width:100%}
.tool .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tool button{font:inherit;font-weight:750;cursor:pointer}.tool button.btn{border:1px solid var(--border)}.tool button.btn.primary{border-color:transparent}
.tool button:disabled{opacity:.7;cursor:progress}
.result{margin-top:22px;max-width:980px}.result h2:focus{outline:none}.result .summary{color:var(--muted)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0 18px}
.tile{background:#0b1224;border:1px solid var(--border);border-radius:12px;padding:12px 14px;min-width:0}.tile .k{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.tile .v{font-weight:800;font-size:1.05rem;overflow-wrap:anywhere}
ul.findings{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}ul.findings li{background:#0b1224;border:1px solid var(--border);border-radius:10px;padding:10px 12px;overflow-wrap:anywhere}
.table-wrap{overflow-x:auto;margin:14px 0;border:1px solid var(--border);border-radius:12px}
table.data{border-collapse:collapse;width:100%;font-size:.88rem}table.data caption{text-align:start;padding:10px 12px;font-weight:700;color:var(--text)}
table.data th,table.data td{padding:8px 12px;border-top:1px solid var(--border);text-align:start;vertical-align:top;white-space:pre-line;overflow-wrap:anywhere}
table.data td.num,table.data th.num{text-align:end;font-variant-numeric:tabular-nums}table.data thead th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.chart-fig{margin:16px 0}.chart{width:100%;height:auto;background:#0b1224;border:1px solid var(--border);border-radius:12px}.chart .bar{fill:var(--accent)}.chart .axis{fill:var(--muted);font-size:12px}
.error{color:#ffb4b4;font-weight:650}
fieldset.q{border:1px solid var(--border);border-radius:14px;padding:12px 16px;margin:0 0 12px;background:var(--panel)}fieldset.q legend{font-weight:700;padding:0 6px}
.choice{display:flex;gap:10px;align-items:flex-start;margin:6px 0}.choice input{margin-top:.35rem}.choice label{font-weight:500}
ol.review{display:grid;gap:10px;padding-inline-start:22px}ol.review li.ok::marker{color:var(--accent2)}ol.review li.bad::marker{color:#ffc861}
.tool-card .badge-local{font-size:.72rem;color:#8ff0c2;font-weight:800;letter-spacing:.06em}
.files{display:grid;gap:12px}.files .plan h3{overflow-wrap:anywhere}.files pre{white-space:pre-wrap;word-break:break-word;background:#0b1224;border:1px solid var(--border);border-radius:10px;padding:10px;font-size:.78rem;max-height:340px;overflow:auto}
@media(max-width:760px){.tool .pair{grid-template-columns:1fr}.tool .actions .btn{width:100%;justify-content:center}}
