/* Shared interactive tool workspace — standalone tools and article embeds. */
.tool-workspace{margin-block-start:var(--space-6);border-block:2px solid var(--ink-0);background:var(--paper-1);padding:clamp(1.2rem,4vw,2.2rem)}
.tool-workspace--inline{margin-block-start:0}
.tool-controls{display:grid;gap:var(--space-4)}
.tool-controls label{display:grid;gap:.5rem;color:var(--ink-1);font-weight:750;line-height:1.8}
.tool-controls input,.tool-controls textarea,.tool-controls select{box-sizing:border-box;width:100%;padding:.8rem;border:1px solid var(--line);border-radius:0;background:var(--paper-0);color:var(--ink-0);font:inherit;line-height:1.8}
.tool-controls textarea{direction:ltr;text-align:left;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Consolas,monospace)}
.tool-controls button{min-height:2.8rem;padding:.75rem 1rem;border:1px solid var(--ink-0);border-radius:0;background:var(--ink-0);color:var(--paper-1);font-weight:900;cursor:pointer}
.action-row,.check-row{display:flex;gap:.65rem;flex-wrap:wrap}
.check-row label{display:flex;align-items:center;gap:.4rem}.check-row input{width:auto}
.privacy-note{margin:var(--space-5) 0 0;padding-block-start:var(--space-4);border-block-start:1px solid var(--line);color:var(--ink-2);font-size:var(--text-sm);line-height:1.8}
.tool-error{min-height:1.5em;color:var(--editorial-accent)}
.timestamp-output{display:grid;gap:.5rem;padding:1rem;background:var(--paper-0);border:1px solid var(--line);direction:ltr;text-align:left;line-height:1.8}
.text-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-block-start:1rem;background:var(--line);border:1px solid var(--line)}
.text-stats>div{display:grid;gap:.2rem;padding:1rem;background:var(--paper-1)}.text-stats strong{font-size:1.6rem}.text-stats span{color:var(--ink-2);font-size:var(--text-xs)}
@media(max-width:640px){.text-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Article embeds stay useful without dominating the reading flow. */
.tool-workspace--inline .tool-controls textarea{height:10rem;min-height:8rem;max-height:14rem;resize:vertical}
@media(max-width:640px){.tool-workspace--inline .tool-controls textarea{height:8.5rem;min-height:7rem}}

/* Tool Workspace V4 — shared high-quality controls for legacy and advanced tools. */
.tool-workspace{
  margin-block-start:1.35rem;
  padding:clamp(1rem,2.5vw,1.6rem);
  border:1px solid var(--quality-surface-border);
  border-radius:var(--quality-radius-panel);
  background:var(--quality-surface-bg);
  box-shadow:var(--quality-surface-shadow);
}
.tool-controls{gap:1rem}
.tool-controls label{
  gap:.42rem;
  color:var(--text-secondary);
  font-size:.78rem;
  font-weight:800;
  line-height:1.55;
}
.tool-controls input,
.tool-controls textarea,
.tool-controls select{
  min-height:2.85rem;
  padding:.7rem .8rem;
  border:1px solid var(--quality-surface-border-strong);
  border-radius:var(--quality-radius-control);
  background:var(--surface-raised);
  color:var(--text-primary);
  transition:border-color var(--motion-fast) var(--ease-productive),box-shadow var(--motion-fast) var(--ease-productive),background var(--motion-fast) var(--ease-productive);
}
.tool-controls textarea{line-height:1.65}
.tool-controls input:hover,
.tool-controls textarea:hover,
.tool-controls select:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--quality-surface-border-strong))}
.tool-controls input:focus,
.tool-controls textarea:focus,
.tool-controls select:focus{
  outline:0;
  border-color:var(--accent);
  box-shadow:var(--shadow-focus);
}
.tool-controls button{
  min-height:2.85rem;
  padding:.7rem 1rem;
  border:1px solid var(--accent);
  border-radius:var(--quality-radius-control);
  background:var(--accent);
  color:var(--editorial-active-text);
  box-shadow:var(--shadow-1);
  font-weight:900;
  transition:transform var(--motion-fast) var(--ease-productive),box-shadow var(--motion-fast) var(--ease-productive);
}
.tool-controls button:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}
.tool-controls button:active{transform:none}
.privacy-note{
  margin:1rem 0 0;
  padding:.8rem .9rem;
  border:1px solid color-mix(in srgb,var(--accent-secondary) 22%,var(--quality-surface-border));
  border-inline-start:3px solid var(--accent-secondary);
  border-radius:12px;
  background:color-mix(in srgb,var(--accent-secondary) 5%,var(--quality-surface-soft));
  color:var(--text-muted);
  font-size:.75rem;
  line-height:1.7;
}
.tool-error{min-height:1.35em;margin:0;color:var(--danger);font-size:.76rem;font-weight:750}
.timestamp-output{
  gap:.45rem;
  padding:.85rem;
  border:1px solid var(--quality-surface-border);
  border-radius:12px;
  background:var(--quality-surface-soft);
}
.text-stats{
  gap:.6rem;
  padding:0;
  border:0;
  background:transparent;
}
.text-stats>div{
  padding:.85rem;
  border:1px solid var(--quality-surface-border);
  border-radius:12px;
  background:var(--quality-surface-bg);
}
