/* Tervilo Text Tools Benchmark v1
   Scope: all Text Tools except Word Counter, which retains its frozen benchmark. */

.text-tools-benchmark {
    padding: 30px;
    border: 1px solid #dbeafe;
    border-radius: 22px;
    background: linear-gradient(180deg,#fbfdff 0%,#fff 100%);
    box-shadow: 0 12px 30px rgba(15,23,42,.06);
}
.text-tools-benchmark .ttb-intro {
    display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:22px;
}
.text-tools-benchmark .ttb-eyebrow,
.text-tools-benchmark .ttb-result-eyebrow {
    margin:0 0 7px; color:#2563eb; font-size:.78rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase;
}
.text-tools-benchmark .ttb-title { margin:0; font-size:clamp(1.55rem,3vw,2.05rem); letter-spacing:-.025em; }
.text-tools-benchmark .ttb-description { margin:8px 0 0; max-width:760px; color:#64748b; line-height:1.65; }
.text-tools-benchmark .ttb-local-note {
    flex:0 0 auto; padding:9px 13px; border-radius:999px; background:#dcfce7; color:#15803d; font-size:.82rem; font-weight:800; white-space:nowrap;
}
.text-tools-benchmark .ttb-editor-card {
    padding:20px; border:1px solid #dbeafe; border-radius:18px; background:#fff;
}
.text-tools-benchmark .ttb-label {
    display:flex; justify-content:space-between; gap:12px; align-items:baseline; margin-bottom:9px;
}
.text-tools-benchmark .ttb-label strong { font-size:.98rem; }
.text-tools-benchmark .ttb-label span { color:#64748b; font-size:.84rem; }
.text-tools-benchmark textarea[data-ttb-input] {
    display:block; width:100%; max-width:100%; min-width:0; min-height:220px; box-sizing:border-box; resize:vertical;
    padding:13px 14px; border:1px solid #dbe3ee; border-radius:12px; background:#fff; color:#0f172a;
    font:inherit; line-height:1.55; outline:none; transition:border-color .18s ease,box-shadow .18s ease;
}
.text-tools-benchmark textarea[data-ttb-input]:focus {
    border-color:#60a5fa; box-shadow:0 0 0 4px rgba(37,99,235,.09);
}
.text-tools-benchmark .ttb-options {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:14px;
}
.text-tools-benchmark .ttb-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.text-tools-benchmark .ttb-field span { color:#334155; font-size:.9rem; font-weight:750; }
.text-tools-benchmark .ttb-field input,
.text-tools-benchmark .ttb-field select {
    width:100%; min-height:48px; box-sizing:border-box; padding:0 13px; border:1px solid #cbd5e1; border-radius:12px;
    background:#fff; color:#0f172a; font:inherit; outline:none;
}
.text-tools-benchmark .ttb-field input:focus,
.text-tools-benchmark .ttb-field select:focus { border-color:#60a5fa; box-shadow:0 0 0 4px rgba(37,99,235,.09); }
.text-tools-benchmark .ttb-toggle {
    display:flex; align-items:center; gap:9px; min-height:48px; padding:0 12px; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; color:#334155; font-weight:650;
}
.text-tools-benchmark .ttb-toggle input { width:17px; height:17px; accent-color:#2563eb; }
.text-tools-benchmark .ttb-case-actions { display:flex; flex-wrap:wrap; gap:8px; grid-column:1/-1; }
.text-tools-benchmark .ttb-option-button {
    min-height:44px; padding:0 14px; border:1px solid #cbd5e1; border-radius:11px; background:#fff; color:#0f172a; font:inherit; font-weight:750; cursor:pointer;
}
.text-tools-benchmark .ttb-option-button.is-selected,
.text-tools-benchmark .ttb-option-button:hover { border-color:#93c5fd; background:#eff6ff; color:#1d4ed8; }
.text-tools-benchmark .ttb-live {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:12px;
}
.text-tools-benchmark .ttb-live-item {
    padding:10px 12px; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc;
}
.text-tools-benchmark .ttb-live-item strong { display:block; color:#0f172a; font-size:1.05rem; }
.text-tools-benchmark .ttb-live-item span { display:block; margin-top:2px; color:#64748b; font-size:.76rem; }
.text-tools-benchmark .ttb-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.text-tools-benchmark .ttb-button {
    min-height:48px; padding:0 20px; border-radius:12px; border:1px solid transparent; font:inherit; font-weight:800; cursor:pointer;
}
.text-tools-benchmark .ttb-button--primary { color:#fff; background:#2563eb; box-shadow:0 8px 18px rgba(37,99,235,.17); }
.text-tools-benchmark .ttb-button--secondary { color:#0f172a; background:#fff; border-color:#cbd5e1; }
.text-tools-benchmark .ttb-button:hover { transform:translateY(-1px); }
.text-tools-benchmark .ttb-status { min-height:24px; margin-top:12px; color:#64748b; font-size:.9rem; }
.text-tools-benchmark .ttb-status.is-success { color:#15803d; font-weight:750; }
.text-tools-benchmark .ttb-status.is-error { color:#b91c1c; font-weight:700; }
.text-tools-benchmark .ttb-result {
    margin-top:20px; overflow:hidden; border:1px solid #dbeafe; border-radius:20px; background:#fff;
}
.text-tools-benchmark .ttb-result-head {
    display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding:22px 24px;
    background:linear-gradient(135deg,#f8fbff,#fff); border-bottom:1px solid #dbeafe;
}
.text-tools-benchmark .ttb-result-eyebrow { margin-bottom:6px; }
.text-tools-benchmark .ttb-result-title { margin:0; font-size:1.55rem; }
.text-tools-benchmark .ttb-result-subtitle { margin:6px 0 0; color:#64748b; }
.text-tools-benchmark .ttb-complete {
    padding:9px 13px; border-radius:999px; background:#dcfce7; color:#15803d; font-size:.82rem; font-weight:800; white-space:nowrap;
}
.text-tools-benchmark .ttb-result-body { padding:20px 24px 24px; }
.text-tools-benchmark .ttb-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.text-tools-benchmark .ttb-metric { min-height:112px; padding:17px; border:1px solid #dbeafe; border-radius:16px; background:#f8fbff; }
.text-tools-benchmark .ttb-metric-2 { background:#f0fdf4; border-color:#bbf7d0; }
.text-tools-benchmark .ttb-metric-3 { background:#fff7ed; border-color:#fed7aa; }
.text-tools-benchmark .ttb-metric-4 { background:#faf5ff; border-color:#e9d5ff; }
.text-tools-benchmark .ttb-metric strong { display:block; color:#2563eb; font-size:1.5rem; line-height:1.15; }
.text-tools-benchmark .ttb-metric-2 strong { color:#15803d; }
.text-tools-benchmark .ttb-metric-3 strong { color:#c2410c; }
.text-tools-benchmark .ttb-metric-4 strong { color:#7c3aed; }
.text-tools-benchmark .ttb-metric span { display:block; margin-top:7px; color:#64748b; font-size:.84rem; }
.text-tools-benchmark .ttb-panels { display:grid; grid-template-columns:1.05fr .95fr; gap:14px; margin-top:14px; }
.text-tools-benchmark .ttb-panel,
.text-tools-benchmark .ttb-output,
.text-tools-benchmark .ttb-table-panel { border:1px solid #e2e8f0; border-radius:16px; overflow:hidden; }
.text-tools-benchmark .ttb-panel-head,
.text-tools-benchmark .ttb-output-head {
    display:flex; justify-content:space-between; gap:10px; padding:16px 18px; border-bottom:1px solid #e2e8f0; background:#fff;
}
.text-tools-benchmark .ttb-panel-head span { color:#94a3b8; font-size:.82rem; }
.text-tools-benchmark .ttb-rows { padding:0 18px; }
.text-tools-benchmark .ttb-row { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid #eef2f7; }
.text-tools-benchmark .ttb-row:last-child { border-bottom:0; }
.text-tools-benchmark .ttb-row span { color:#64748b; }
.text-tools-benchmark .ttb-row strong { color:#0f172a; }
.text-tools-benchmark .ttb-output,
.text-tools-benchmark .ttb-table-panel { margin-top:14px; }
.text-tools-benchmark .ttb-output textarea {
    display:block; width:100%; min-height:190px; box-sizing:border-box; padding:17px; border:0; resize:vertical; background:#fbfdff; color:#0f172a; font:500 .96rem/1.65 inherit; outline:none;
}
.text-tools-benchmark .ttb-copy {
    min-height:36px; padding:0 12px; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#1d4ed8; font:inherit; font-weight:750; cursor:pointer;
}
.text-tools-benchmark .ttb-table-wrap { overflow:auto; }
.text-tools-benchmark .ttb-table { width:100%; border-collapse:collapse; }
.text-tools-benchmark .ttb-table th,
.text-tools-benchmark .ttb-table td { padding:12px 16px; text-align:left; border-bottom:1px solid #eef2f7; }
.text-tools-benchmark .ttb-table th { color:#475569; background:#f8fafc; font-size:.84rem; }
.text-tools-benchmark .ttb-note { margin-top:14px; padding:14px 16px; border:1px solid #dbeafe; border-radius:12px; background:#f8fbff; color:#64748b; line-height:1.6; font-size:.9rem; }
.text-tools-benchmark .ttb-hidden { display:none !important; }

@media (max-width:850px) {
    .text-tools-benchmark .ttb-metrics { grid-template-columns:repeat(2,1fr); }
    .text-tools-benchmark .ttb-panels { grid-template-columns:1fr; }
}
@media (max-width:640px) {
    .text-tools-benchmark { padding:18px; }
    .text-tools-benchmark .ttb-intro { display:block; }
    .text-tools-benchmark .ttb-local-note { display:inline-block; margin-top:12px; }
    .text-tools-benchmark .ttb-editor-card { padding:14px; }
    .text-tools-benchmark .ttb-options { grid-template-columns:1fr; }
    .text-tools-benchmark .ttb-live { grid-template-columns:repeat(2,1fr); }
    .text-tools-benchmark .ttb-actions { display:grid; grid-template-columns:1fr; }
    .text-tools-benchmark .ttb-button { width:100%; }
    .text-tools-benchmark .ttb-result-head { display:block; padding:18px; }
    .text-tools-benchmark .ttb-complete { display:inline-block; margin-top:12px; }
    .text-tools-benchmark .ttb-result-body { padding:14px; }
    .text-tools-benchmark .ttb-metrics { grid-template-columns:1fr 1fr; gap:8px; }
    .text-tools-benchmark .ttb-metric { min-height:100px; padding:13px; }
}
