.text-workbench { color:var(--text); }
.text-head { padding:4px 0 25px; }
.text-head h3 { margin:6px 0 7px;font-size:clamp(26px,3vw,34px);font-weight:600;letter-spacing:-.035em; }
.text-head p { margin:0;color:var(--secondary); }
.text-workspace,.text-card { border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:22px;margin-top:18px; }
.text-workspace { margin-top:18px;background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%); }
.text-compare-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.text-pane { min-width:0; }
.text-input-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px; }
.text-input-head label { font-weight:700;font-size:15px; }
.text-input,.text-output { display:block;width:100%;resize:vertical;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);padding:14px 16px;line-height:1.6;font-size:14px;min-height:185px;outline:none; }
.text-output { background:var(--button-bg);font-family:ui-monospace,Consolas,monospace; }
.text-input:focus,.text-output:focus { border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent); }
.text-meta,.text-card-help,.text-status,.text-replace-hint { color:var(--secondary);font-size:13px;line-height:1.65; }
.text-meta { margin:7px 2px 0;min-height:20px; }
.text-diff-block { margin-top:18px;border-top:1px solid var(--border);padding-top:16px; }
.text-diff-heading { display:flex;align-items:center;gap:10px;margin-bottom:10px; }
.text-diff-heading strong { font-size:14px; }
.text-diff-heading>span:last-child { margin-left:auto;color:var(--muted);font-size:12px; }
.text-diff { max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--button-bg);font:12px/1.55 ui-monospace,Consolas,monospace; }
.text-diff-line { display:grid;grid-template-columns:32px minmax(0,1fr);white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid var(--divider); }
.text-diff-line:first-child { border-top:0; }
.text-diff-sign { padding:2px 8px;text-align:center;user-select:none;color:var(--muted); }
.text-diff-content { padding:2px 10px; }
.text-diff-line.is-add { background:color-mix(in srgb,#2da44e 15%,var(--surface)); }
.text-diff-line.is-remove { background:color-mix(in srgb,#cf3c3c 15%,var(--surface)); }
.text-diff-line.is-add .text-diff-sign { color:#218b3b; }
.text-diff-line.is-remove .text-diff-sign { color:#b63131; }
.text-diff-line mark { background:color-mix(in srgb,#eaaa35 50%,var(--surface));color:inherit;border-radius:2px; }
.text-card-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px; }
.text-card-head>div { display:flex;align-items:center;gap:12px; }
.text-card-head h4 { margin:0;font-size:20px;font-weight:600;letter-spacing:-.02em; }
.text-step { display:inline-flex;border-radius:5px;background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent-strong);padding:3px 7px;font-size:10px;letter-spacing:.08em;font-weight:800;white-space:nowrap; }
.text-count { color:var(--muted);font-size:12px;white-space:nowrap; }
.text-card-help { margin:4px 0 16px; }
.text-actions { border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 5px 24px color-mix(in srgb,var(--accent) 7%,transparent); }
.text-subtle { border:1px solid var(--border);border-radius:8px;background:var(--button-bg);color:var(--body-text);padding:5px 10px;font-size:12px;white-space:nowrap; }
.text-subtle:hover:not(:disabled) { border-color:var(--accent);color:var(--accent-strong); }
.text-subtle:disabled { opacity:.5;cursor:not-allowed; }
.text-replace-row { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(145px,.75fr) auto;gap:10px;align-items:end; }
.text-replace-row label { display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--body-text);font-size:13px;font-weight:650; }
.text-replace-row input,.text-replace-row select { width:100%;height:46px;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:14px;font-weight:400; }
.text-replace-row input:focus,.text-replace-row select:focus { outline:2px solid var(--accent);outline-offset:1px; }
.text-one-button { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 17px;border:1px solid var(--accent-strong);border-radius:10px;background:var(--accent-strong);color:var(--page-bg);font-weight:700;font-size:14px;line-height:1.3;white-space:nowrap;box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 22%,transparent);transition:transform .15s,background .15s,border-color .15s; }
.text-one-button:hover:not(:disabled) { transform:translateY(-2px);background:var(--accent);border-color:var(--accent); }
.text-one-button:disabled { opacity:.5;cursor:wait; }
.text-one-button.is-active { background:color-mix(in srgb,#2da44e 18%,var(--surface));border-color:#339653;color:var(--text);box-shadow:inset 0 0 0 1px #33965344; }
.text-one-button.is-active:hover:not(:disabled) { background:color-mix(in srgb,#2da44e 27%,var(--surface));border-color:#339653; }
.text-export-button { background:var(--surface);color:var(--accent-strong);box-shadow:none; }
.text-export-button:hover:not(:disabled) { color:var(--page-bg); }
.text-replace-hint { margin:8px 1px 18px;font-size:12px; }
.text-quick-buttons { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px; }
.text-quick-buttons .text-one-button { width:100%;min-height:55px;white-space:normal;text-align:center; }
.text-status { min-height:20px;margin:15px 0 0;padding-top:13px;border-top:1px solid var(--divider); }
.text-detections { display:grid;gap:8px; }
.text-detection-group { min-width:0;padding:12px;border:1px solid var(--divider);border-radius:11px; }
.text-detection { display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 11px;border:1px solid var(--divider);border-radius:9px;background:var(--button-bg); }
.text-detection-type { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;color:var(--accent-strong);font-size:12px;font-weight:700; }
.text-detection-actions { display:flex;flex-wrap:wrap;gap:6px; }
.text-detection-actions a { display:inline-flex;align-items:center;text-decoration:none; }
.text-detection-more summary { width:fit-content;margin-top:9px;color:var(--secondary);font-size:12px;cursor:pointer; }
.text-detection-more summary:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
.text-detection-rest { display:grid;gap:8px;margin-top:9px; }
.text-detection-value { min-width:0;overflow-wrap:anywhere;font-size:13px;user-select:text; }
.text-detection-reason { color:var(--muted);font-size:11px;white-space:nowrap; }
.text-empty { margin:0;color:var(--muted);font-size:13px;padding:12px; }
@media(max-width:900px) {
 .text-replace-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .text-replace-row .text-one-button { width:100%; }
}
@media(max-width:700px) {
 .text-workspace,.text-card { padding:16px;margin-top:14px; }
 .text-workspace { margin-top:14px; }
 .text-compare-grid,.text-replace-row { grid-template-columns:1fr; }
 .text-input,.text-output { min-height:180px; }
 .text-card-head { align-items:flex-start; }
 .text-card-head>div { flex-wrap:wrap;gap:6px 9px; }
 .text-quick-buttons { grid-template-columns:1fr 1fr; }
 .text-quick-buttons .text-export-button { grid-column:1 / -1; }
 .text-detection { grid-template-columns:minmax(0,1fr);gap:6px; }
 .text-detection-reason { white-space:normal; }
}
@media(max-width:420px) {
 .text-quick-buttons { grid-template-columns:1fr; }
 .text-quick-buttons .text-export-button { grid-column:auto; }
 .text-diff-heading>span:last-child { display:none; }
}
