/* Text tools: task first, supporting copy second. No decorative UI. */
.tools-page{padding-bottom:clamp(64px,9vw,108px)}
.tools-crumbs{display:flex;align-items:center;gap:8px;padding-top:22px;color:var(--dim);font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.tools-crumbs a{color:inherit;text-decoration:none}
.tools-crumbs a:hover{color:var(--red)}
.tools-back span{display:inline-block}
[dir=rtl] .tools-back span{transform:scaleX(-1)}

.tools-intro{padding-block:clamp(32px,5vw,56px) clamp(24px,4vw,40px)}
.tools-intro h1{max-width:900px;margin:0;font-size:clamp(38px,6vw,62px);line-height:1;letter-spacing:-.04em}
.tools-intro p{max-width:760px;margin:18px 0 0;color:var(--ink2);font:400 clamp(17px,2vw,21px)/1.55 var(--serif)}

.tools-list{border-top:2px solid var(--ink)}
.tools-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:24px 2px;border-bottom:1px solid var(--rule2);color:var(--ink);text-decoration:none}
.tools-list-item:hover{background:var(--paper2);color:var(--ink);text-decoration:none}
.tools-list-copy{min-width:0}
.tools-list-copy h2{margin:0;font-size:clamp(23px,3vw,32px);line-height:1.15}
.tools-list-copy p{max-width:720px;margin:7px 0 0;color:var(--dim);font-size:14px;line-height:1.55}
.tools-list-open{color:var(--red);font:700 12px var(--mono);white-space:nowrap}
[dir=rtl] .tools-list-open{transform:scaleX(-1)}
.tools-data-note{max-width:820px;margin-top:22px;margin-inline:auto;color:var(--dim);font-size:13px;line-height:1.55}

.tool-workbench{min-width:0;container-type:inline-size}
.tool-panel{border:1px solid var(--ink);padding:clamp(18px,3vw,30px);background:var(--paper)}
.tool-textarea{min-height:280px;margin-top:3px;background-attachment:local;font-size:16px}
.tool-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tool-pair .tool-textarea{min-height:330px}
.tool-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.tool-input-meta{margin-inline-start:auto;color:var(--dim);font:11px var(--mono);font-variant-numeric:tabular-nums}
.tool-privacy-inline{margin:14px 0 0;color:var(--dim);font-size:12.5px;line-height:1.55}
.tool-privacy-inline a{color:inherit}
.tool-error{margin:14px 0 0;padding:10px 13px;border-inline-start:3px solid var(--red);background:var(--red-soft);color:var(--ink);font-size:14px}
.tool-noscript{padding:14px;border:1px solid var(--red);background:var(--red-soft)}

.tool-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:22px;border-block:1px solid var(--rule2)}
.tool-fact{padding:18px 0}
.tool-fact+.tool-fact{padding-inline-start:28px;border-inline-start:1px solid var(--rule2)}
.tool-fact h2{margin:0 0 7px;font:700 15px var(--serif)}
.tool-fact p,.tool-fact ul{margin:0;color:var(--dim);font-size:13.5px;line-height:1.55}
.tool-fact ul{padding-inline-start:18px}

.tool-result{margin-top:32px;border-top:2px solid var(--ink);padding-top:22px}
.tool-report-head{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1fr);gap:24px;align-items:end;padding-bottom:20px;border-bottom:1px solid var(--rule2)}
.tool-report-kicker{margin:0 0 7px;color:var(--dim);font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.tool-score{display:flex;align-items:baseline;gap:7px;color:var(--ink);font:700 clamp(48px,8cqw,76px)/.9 var(--mono);letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.tool-score small{color:var(--dim);font:600 12px var(--mono);letter-spacing:0}
.tool-score.is-risk{color:var(--red)}
.tool-report-summary h2{margin:0 0 7px;font-size:clamp(24px,3.8cqw,34px);line-height:1.12}
.tool-report-summary p{margin:0;color:var(--dim);font-size:14px}
.tool-status{display:inline-block;margin-top:11px;border:1px solid var(--rule2);padding:4px 8px;color:var(--ink2);font:700 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.tool-status.ok{border-color:var(--ok);color:var(--ok)}
.tool-status.warn{border-color:var(--red);color:var(--red)}

.tool-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px;border:1px solid var(--rule2);border-inline-end:0}
.tool-metric{min-width:0;padding:15px 13px;border-inline-end:1px solid var(--rule2)}
.tool-metric b{display:block;overflow:hidden;color:var(--ink);font:700 clamp(20px,3.8cqw,29px)/1 var(--mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis}
.tool-metric span{display:block;margin-top:7px;color:var(--dim);font:600 9px var(--mono);letter-spacing:.07em;text-transform:uppercase}
.tool-metric small{display:block;margin-top:5px;color:var(--dim);font-size:11px}
.tool-section{margin-top:26px}
.tool-section h3{margin:0 0 10px;font:700 17px var(--serif)}
.tool-finding-list{border-top:1px solid var(--rule2)}
.tool-finding-row{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:10px 2px;border-bottom:1px dotted var(--rule2);font-size:13.5px}
.tool-finding-row b{font-weight:650}
.tool-finding-row span{min-width:0;overflow-wrap:anywhere;color:var(--dim)}
.tool-finding-row code{white-space:nowrap}
.tool-empty{margin:0;padding:13px 0;color:var(--dim);font-size:14px}
.tool-warning{position:relative;margin:0;padding:10px 8px 10px 25px;border-bottom:1px dotted var(--rule2);color:var(--ink2);font-size:13.5px}
.tool-warning::before{content:"!";position:absolute;inset-inline-start:4px;top:11px;color:var(--red);font:700 12px var(--mono)}
.tool-chips{display:flex;flex-wrap:wrap;gap:7px}
.tool-chip{border:1px solid var(--rule2);padding:5px 8px;background:var(--paper2);color:var(--ink2);font:12px var(--mono)}
.tool-report-note{margin:20px 0 0;color:var(--dim);font-size:13px;line-height:1.55}
.tool-result-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule2)}
.tool-result-actions .tool-result-hint{margin-inline-start:auto;color:var(--dim);font-size:12px}
.tool-result-actions #runAiCheck{order:2}
.tool-output-wrap{margin-top:22px}
.tool-output-wrap textarea{min-height:240px;background-color:var(--paper2)}
.tool-copy-state{color:var(--ok);font:600 12px var(--mono)}

.tools-faq{margin-top:clamp(44px,7vw,76px);border-top:1px solid var(--rule2);padding-top:24px}
.tools-faq h2{margin:0 0 18px;font-size:clamp(25px,3.5vw,36px)}
.tools-faq dl{display:grid;grid-template-columns:1fr 1fr;gap:24px 36px;margin:0}
.tools-faq dt{font-weight:700}
.tools-faq dd{margin:7px 0 0;color:var(--dim);font-size:14px;line-height:1.6}

@container (max-width:680px){
  .tool-pair,.tool-report-head{grid-template-columns:1fr}
  .tool-pair .tool-textarea{min-height:230px}
  .tool-metrics{grid-template-columns:1fr 1fr}
  .tool-metric{border-bottom:1px solid var(--rule2)}
  .tool-metric:nth-last-child(-n+2){border-bottom:0}
}

@media(max-width:620px){
  .tools-intro{padding-top:28px}
  .tools-intro h1{font-size:clamp(36px,11vw,50px)}
  .tools-list-item{grid-template-columns:1fr;padding-block:20px}
  .tools-list-open{justify-self:start}
  .tool-panel{padding:15px}
  .tool-textarea{min-height:235px}
  .tool-actions .btn{flex:1 1 100%;min-height:44px}
  .tool-input-meta{margin-inline-start:0;width:100%;text-align:end}
  .tool-facts,.tools-faq dl{grid-template-columns:1fr}
  .tool-fact+.tool-fact{padding-inline-start:0;border-inline-start:0;border-top:1px solid var(--rule2)}
  .tool-finding-row{grid-template-columns:1fr auto}
  .tool-finding-row span{grid-column:1/-1}
  .tool-result-actions .btn{width:100%;min-height:44px}
  .tool-result-actions .tool-result-hint{margin-inline-start:0}
}

@media(prefers-reduced-motion:reduce){.tools-list-item{transition:none}}
