/* Family-local only. Selectors stay under body[data-family="domain-tools"].
   Shared /feeds/styles.css owns Satoshi and estate tokens. Do not edit it. */

body[data-family="domain-tools"] {
  --primary-surface: 207 100% 42%;
  --primary-surface-hover: 207 100% 36%;
}

body[data-family="domain-tools"] [hidden] {
  display: none !important;
}

body[data-family="domain-tools"] .masthead .wordmark {
  flex-wrap: wrap;
  white-space: normal;
  max-width: 100%;
  gap: 0.25rem 0.5rem;
}

body[data-family="domain-tools"] .rail > div,
body[data-family="domain-tools"] .workbench,
body[data-family="domain-tools"] .result-tables {
  min-width: 0;
  overflow-wrap: anywhere;
}

body[data-family="domain-tools"] .btn-ghost {
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Primary/ring stays the brand blue; ordinary link text needs measured contrast. */
@media (prefers-color-scheme: light) {
  body[data-family="domain-tools"] a:not(.btn-buy),
  body[data-family="domain-tools"] .btn-ghost {
    color: hsl(var(--primary-surface-hover));
  }
}

html[data-theme="light"] body[data-family="domain-tools"] a:not(.btn-buy),
html[data-theme="light"] body[data-family="domain-tools"] .btn-ghost {
  color: hsl(var(--primary-surface-hover));
}

html[data-theme="dark"] body[data-family="domain-tools"] a:not(.btn-buy),
html[data-theme="dark"] body[data-family="domain-tools"] .btn-ghost {
  color: hsl(var(--primary));
}

@media (prefers-color-scheme: dark) {
  body[data-family="domain-tools"] {
    --primary-surface: 207 100% 42%;
    --primary-surface-hover: 207 100% 36%;
  }
}

html[data-theme="dark"] body[data-family="domain-tools"] {
  --primary-surface: 207 100% 42%;
  --primary-surface-hover: 207 100% 36%;
}

html[data-theme="light"] body[data-family="domain-tools"] {
  --primary-surface: 207 100% 42%;
  --primary-surface-hover: 207 100% 36%;
}

body[data-family="domain-tools"] .btn-buy {
  background: hsl(var(--primary-surface));
  color: hsl(var(--primary-foreground));
}

body[data-family="domain-tools"] .btn-buy:hover {
  background: hsl(var(--primary-surface-hover));
}

body[data-family="domain-tools"] button.btn {
  font-family: inherit;
  cursor: pointer;
}

body[data-family="domain-tools"] .btn,
body[data-family="domain-tools"] input[type="file"],
body[data-family="domain-tools"] textarea,
body[data-family="domain-tools"] .file-label {
  min-height: 44px;
}

body[data-family="domain-tools"] .btn:focus-visible,
body[data-family="domain-tools"] textarea:focus-visible,
body[data-family="domain-tools"] input:focus-visible,
body[data-family="domain-tools"] a:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 2px;
}

body[data-family="domain-tools"] .workbench {
  display: grid;
  gap: 1rem;
}

body[data-family="domain-tools"] .workbench label {
  display: block;
  font-size: 0.875rem;
  font-weight: 650;
  margin: 0 0 0.375rem;
}

body[data-family="domain-tools"] .workbench textarea {
  width: 100%;
  min-height: 12rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--fg);
  font-family: var(--mono);
  font-size: 0.875rem;
  line-height: 1.45;
  resize: vertical;
}

body[data-family="domain-tools"] .workbench input[type="file"] {
  display: block;
  width: 100%;
  padding: 0.5rem 0;
}

body[data-family="domain-tools"] .work-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

body[data-family="domain-tools"] .run-live {
  margin: 0;
  min-height: 1.5em;
  color: var(--muted-fg);
}

body[data-family="domain-tools"] .run-status[data-kind="PASS"] {
  color: var(--fg);
}

body[data-family="domain-tools"] .run-status[data-kind="FAIL"],
body[data-family="domain-tools"] .run-status[data-kind="UNKNOWN"] {
  color: var(--muted-fg);
}

body[data-family="domain-tools"] .result-tables {
  display: grid;
  gap: 1.25rem;
}

body[data-family="domain-tools"] .preview-frame {
  display: block;
  max-width: min(100%, 320px);
  max-height: 240px;
  width: auto;
  height: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

body[data-family="domain-tools"] .tool-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  body[data-family="domain-tools"] .tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 34rem) {
  body[data-family="domain-tools"] .work-actions,
  body[data-family="domain-tools"] .hero-cta {
    flex-direction: column;
    align-items: stretch;
  }

  body[data-family="domain-tools"] .btn,
  body[data-family="domain-tools"] textarea,
  body[data-family="domain-tools"] input[type="file"] {
    width: 100%;
  }
}

body[data-family="domain-tools"] .muted-status {
  color: var(--muted-fg);
  font-size: 0.9375rem;
}

body[data-family="domain-tools"] .tool-rail dd { font-size: 1rem; line-height: 1.5; }
body[data-family="domain-tools"] .tool-rail { margin-bottom: 1.25rem; }
body[data-family="domain-tools"] .json-editor summary { min-height: 44px; cursor: pointer; padding-block: .5rem; }
body[data-family="domain-tools"] .json-editor summary:focus-visible { outline: 2px solid hsl(var(--primary)); outline-offset: 2px; }
body[data-family="domain-tools"] .run-live { scroll-margin-top: 6rem; }
body[data-family="domain-tools"] .tool-grid .card { min-width: 0; }

body[data-family="domain-tools"] h1 { overflow-wrap: anywhere; }
body[data-family="domain-tools"] #run-live:empty,
body[data-family="domain-tools"] #run-status:empty,
body[data-family="domain-tools"] #result-summary:empty,
body[data-family="domain-tools"] #result-tables:empty { display: none; }
