.text-brand-sub { color: #7c3aed; font-size: 15px; font-weight: 800; border-left: 1px solid #cbd5e1; padding-left: 9px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.text-hero { padding: 34px; border: 1px solid #ddd6fe; border-radius: 20px; background: linear-gradient(120deg,#eef2ff,#faf5ff); margin-bottom: 30px; }
.text-kicker { color:#6d28d9; font-weight:800; font-size:13px; letter-spacing:.08em; }
.text-hero h1 { margin:8px 0; font-size:clamp(28px,5vw,42px); }
.text-hero p { max-width:680px; color:#475569; line-height:1.8; }
.text-points { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }.text-points span { background:#fff; border:1px solid #ddd6fe; border-radius:999px; padding:6px 10px; color:#5b21b6; font-size:13px; }
.text-search-wrap { position:relative; max-width:760px; margin:0 auto 40px; }.text-search-wrap input { padding-left:42px; }.text-search-wrap::before { content:"⌕"; position:absolute; z-index:1; top:12px; left:15px; color:#64748b; font-size:22px; }
.text-search-results { position:absolute; width:100%; top:calc(100% + 7px); z-index:5; background:#fff; border:1px solid #cbd5e1; border-radius:12px; box-shadow:0 12px 30px rgba(15,23,42,.12); overflow:hidden; }.text-search-results a { display:grid; gap:3px; padding:13px 16px; border-bottom:1px solid #eef2f7; color:#1e293b; }.text-search-results a:last-child { border:0; }.text-search-results span { font-size:12px; color:#64748b; }
.text-section { margin:44px 0; }.text-section-head { display:flex; justify-content:space-between; align-items:end; gap:14px; margin-bottom:15px; }.text-section-head h2 { margin:0; font-size:23px; }.text-section-head p { margin:0; color:#64748b; font-size:13px; }
.text-category { margin-top:28px; }.text-category h3 { font-size:17px; margin:0 0 12px; color:#4c1d95; }.text-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.text-tool-card { display:flex; min-width:0; flex-direction:column; gap:7px; padding:19px; border:1px solid #e2e8f0; border-radius:14px; background:#fff; color:#0f172a; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }.text-tool-card:hover { transform:translateY(-2px); border-color:#c4b5fd; box-shadow:0 8px 20px rgba(76,29,149,.1); }.text-tool-card strong { font-size:17px; }.text-tool-card span { color:#64748b; font-size:13px; line-height:1.6; }
.text-tool-wrap { max-width:920px; margin:0 auto; }.text-page-header { margin-bottom:23px; }.text-page-header h1 { margin:0 0 8px; font-size:clamp(27px,5vw,37px); }.text-page-header p { margin:0; color:#475569; line-height:1.75; }
.text-workbench { padding:24px; border:1px solid #dbe2f0; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(15,23,42,.06); }.text-workbench label { font-weight:750; }.text-workbench textarea { width:100%; min-height:230px; resize:vertical; margin-top:9px; font:inherit; line-height:1.7; overflow-wrap:anywhere; }.text-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }.text-tabs button { border:1px solid #cbd5e1; background:#fff; border-radius:999px; min-height:40px; padding:7px 13px; color:#334155; font:inherit; cursor:pointer; }.text-tabs button.is-active { color:#fff; background:#6d28d9; border-color:#6d28d9; }.text-tabs button:focus-visible,.text-tool-card:focus-visible { outline:3px solid #c4b5fd; outline-offset:2px; }
.text-result { margin-top:20px; padding:18px; border-radius:13px; background:#f8fafc; border:1px solid #e2e8f0; }.text-result h2 { margin:0 0 12px; font-size:18px; }.text-result textarea { min-height:170px; margin:0; background:#fff; }.text-result-actions { display:flex; gap:12px; align-items:center; margin-top:12px; }.text-result-actions span { color:#166534; font-size:13px; min-height:1.2em; }.text-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.text-stat-grid div { min-width:0; padding:15px; background:#fff; border:1px solid #e2e8f0; border-radius:10px; }.text-stat-grid b { display:block; color:#64748b; font-size:12px; }.text-stat-grid strong { display:block; margin-top:5px; font-size:25px; overflow-wrap:anywhere; }.text-note { color:#64748b; font-size:13px; line-height:1.7; }
@media (max-width:700px) { .text-hero,.text-workbench { padding:20px; }.text-category-grid { grid-template-columns:1fr; }.text-stat-grid { grid-template-columns:repeat(2,1fr); }.text-section-head { align-items:flex-start; flex-direction:column; }.text-workbench textarea { min-height:190px; } }
@media (prefers-reduced-motion:reduce) { .text-tool-card { transition:none; }.text-tool-card:hover { transform:none; } }
