.tool-intro { padding: 54px 0 25px; }
.tool-intro h1 { font-size: clamp(34px, 5vw, 48px); margin: 17px 0 12px; }
.tool-intro p, .note { color: var(--muted); }
.note { font-size: 13px; line-height: 1.8; }
.note a { color: var(--accent); text-decoration: underline; }
.ip-panel { padding: 26px; border: 1px solid var(--line); background: #151813; border-radius: 8px; }
h2, h3 { margin: 0 0 16px; font-weight: 550; }
h2 { font-size: 21px; }
h3 { font-size: 16px; }
.address { margin: 12px 0; color: var(--accent); font: clamp(20px, 3vw, 32px)/1.5 Consolas, monospace; overflow-wrap: anywhere; }
.family-panel { margin: 36px 0 24px; }
.family-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
button { border: 1px solid var(--accent); border-radius: 4px; padding: 11px 18px; color: #10120f; background: var(--accent); font: 600 13px system-ui; cursor: pointer; }
button:hover { filter: brightness(1.12); }
button:disabled { cursor: wait; opacity: .6; }
button:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 650px) {
  .tool-intro { padding-top: 32px; }
  .ip-panel { padding: 18px; }
  .family-results { grid-template-columns: 1fr; }
}
