/* Toolisco — styles for URL Validator, IP Address Validator, Image Dimension & File-Size
   Analyzer, Batch Image Metadata Remover, Batch Image Watermark and XML ↔ JSON Converter.
   Loaded only on those pages, after seotools.css and utiltools.css (reused read-only). */
.tool-grid.ib-stack{grid-template-columns:minmax(0,1fr)}
.ib-table{min-width:980px}
.ib-table td,.uv-table td{word-break:normal;overflow-wrap:break-word}
.ib-table td{vertical-align:top}
.ib-name{width:170px;min-width:150px;max-width:280px;font-weight:600}
.ib-table th{white-space:nowrap}
.ib-thumb{display:block;max-width:56px;max-height:56px;width:auto;height:auto;border-radius:6px;border:1px solid var(--border);background:repeating-conic-gradient(var(--bg-sunken) 0% 25%,var(--surface) 0% 50%) 50%/10px 10px}
.ib-note-err{color:#c2304a}
.ib-note-warn{color:#a9730f}
.ib-note-ok{color:#178a4b}
:root[data-theme="dark"] .ib-note-err{color:#ff8ba0}
:root[data-theme="dark"] .ib-note-warn{color:#f0b450}
:root[data-theme="dark"] .ib-note-ok{color:#5fd39a}
.ib-table td.ib-note-err,.ib-table td.ib-note-warn,.ib-table td.ib-note-ok{font-size:var(--fs-sm)}
.ib-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3) var(--s-4)}
@media (max-width:560px){.ib-fields{grid-template-columns:1fr}}
.ib-fields .field{margin:0}
.ib-fields label{display:flex;justify-content:space-between;gap:.5rem}
.ib-fields input[type=range]{width:100%}
.ib-check{display:flex;gap:.5rem;align-items:center;font-size:var(--fs-sm);color:var(--text-soft);margin:var(--s-3) 0}
.wm-preview-wrap{margin-top:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:repeating-conic-gradient(var(--bg-sunken) 0% 25%,var(--surface) 0% 50%) 50%/22px 22px;padding:var(--s-3);display:grid;place-items:center;min-height:120px}
.wm-preview-wrap canvas{display:block;max-width:100%;height:auto;max-height:520px;border-radius:var(--r-sm)}
.uv-table{min-width:720px}
.uv-table td:nth-child(2){width:220px;min-width:180px;max-width:360px}
.uv-table td{vertical-align:top}
.uv-url{word-break:break-all;font-size:var(--fs-xs)}
.uv-parts{display:flex;flex-wrap:wrap;gap:.15rem .9rem;font-size:var(--fs-xs);color:var(--text-soft);margin-top:.25rem;word-break:break-all}
.uv-parts b{color:var(--text);font-weight:600}
.uv-norm{font-size:var(--fs-xs);margin-top:.25rem;word-break:break-all}
.uv-table .ib-note-warn,.uv-table .ib-note-err{font-size:var(--fs-sm);margin-top:.2rem}
.ip-cat{display:inline-block;font-size:var(--fs-xs);font-weight:600;padding:.05rem .5rem;border-radius:var(--r-pill);border:1px solid currentColor;white-space:nowrap;color:var(--text-soft)}
.ip-public{color:#2563eb}.ip-private{color:#178a4b}.ip-loopback,.ip-link-local{color:#7c3aed}.ip-multicast{color:#0e7490}.ip-unspecified,.ip-reserved{color:#a9730f}.ip-documentation,.ip-mixed{color:#64748b}
:root[data-theme="dark"] .ip-public{color:#7aa7ff}:root[data-theme="dark"] .ip-private{color:#5fd39a}:root[data-theme="dark"] .ip-loopback,:root[data-theme="dark"] .ip-link-local{color:#b794ff}:root[data-theme="dark"] .ip-multicast{color:#4fd1e3}:root[data-theme="dark"] .ip-unspecified,:root[data-theme="dark"] .ip-reserved{color:#f0b450}:root[data-theme="dark"] .ip-documentation,:root[data-theme="dark"] .ip-mixed{color:#a0aec0}
.xj-map{margin:var(--s-4) 0 0;padding:0;list-style:none;display:grid;gap:.35rem;font-size:var(--fs-sm);color:var(--text-soft)}
.xj-map code{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--bg-sunken);border:1px solid var(--border);border-radius:4px;padding:.05rem .35rem;color:var(--text)}
