.tool{padding:44px 0 88px}
.tool-head{max-width:600px}
.tool-kicker{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.tool h1{font:400 clamp(28px,3.6vw,36px)/1.14 var(--serif);letter-spacing:-.9px;margin:14px 0 0}
.tool-lede{font-size:12.5px;line-height:1.85;color:#6f776d;margin:14px 0 0;max-width:540px;text-wrap:pretty}
.tool-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;margin-top:28px;
  padding:13px 0;background:var(--paper);border-bottom:1px solid var(--line)}
.search{flex:1 1 240px;min-width:0}
.search input{width:100%;padding:4px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;
  background:none;font:inherit;font-size:13px;color:var(--ink);outline:none;transition:border-color .15s}
.search input:focus{border-bottom-color:var(--sage)}
.search input::placeholder{color:#a9aea5}
.search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.voice{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;min-width:0}
.voice select{-webkit-appearance:none;appearance:none;border:0;background:none;margin:0;padding:3px 16px 3px 0;
  font:inherit;font-size:11.5px;line-height:1.4;color:#6d756c;cursor:pointer;max-width:210px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.voice select:hover,.voice select:focus{color:var(--ink)}
.voice .chev{position:absolute;right:0;width:9px;height:6px;pointer-events:none;color:#8b928a}
.tool-cats{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px 22px;padding:16px 0 14px;border-bottom:1px solid var(--line)}
.tool-cats button{padding:0;border:0;background:none;color:var(--muted);font-size:12px;cursor:pointer;transition:color .15s}
.tool-cats button:hover{color:var(--ink)}
.tool-cats button[aria-pressed="true"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--sage);
  text-underline-offset:6px;text-decoration-thickness:1px}
.tool-cats span{font-size:10px;color:#b6bab1;margin-left:5px;font-variant-numeric:tabular-nums}
.tool-count{font-size:10.5px;color:var(--muted);margin:15px 0 0;font-variant-numeric:tabular-nums}
.voice-hint{display:none}
html.no-voice .wplay{display:none}
html.no-voice .voice-hint{display:block;font-size:11px;color:var(--muted);margin:10px 0 0}
.words{margin:0;padding:0;list-style:none}
.wrow{border-bottom:1px solid var(--line);padding:16px 0 15px;break-inside:avoid}
.wline{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 9px}
.widx{font-size:9.5px;color:#bcbfb7;letter-spacing:.04em;font-variant-numeric:tabular-nums;min-width:20px}
.wword{font:400 20px/1.2 var(--serif);letter-spacing:-.3px;color:var(--ink)}
.wipa{font-size:11.5px;color:var(--muted);white-space:nowrap}
.wzh{font-size:12.5px;color:#6f776d}
.wplay{margin-left:auto;flex:0 0 26px;width:26px;height:26px;padding:0;border:1px solid var(--line);border-radius:50%;
  background:none;color:#8b928a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:color .15s,border-color .15s,background .15s}
.wplay:hover{color:var(--ink);border-color:#c9cec4}
.wplay.on{color:#fff;background:var(--sage);border-color:var(--sage)}
.wplay svg{width:8px;height:9px;display:block;margin-left:1px}
.wdef{font-size:12px;line-height:1.7;color:#6f776d;margin:8px 0 0}
.wcore{font-size:12px;line-height:1.75;color:#7d8479;margin:4px 0 0}
.wex{font-size:12.5px;line-height:1.7;color:#5f685e;margin:10px 0 0}
/* 例句与翻译分两行：英文一行、本地语言一行（与印刷词卡一致）。
   只有存在翻译时才输出 span，其余语言不受影响。 */
.wex span{display:block;color:#8d9389;margin:3px 0 0}
.wsyn{font-size:11px;color:var(--muted);margin:7px 0 0}
.wsyn b{font-weight:400;color:#b6bab1;margin-right:7px}
.tool-empty{padding:44px 0;color:var(--muted);font-size:12.5px}
.tool-cta{margin-top:54px;padding-top:26px;border-top:1px solid var(--line);max-width:560px}
.tool-cta p{font-size:12.5px;line-height:1.85;color:#6f776d;margin:0}
.tool-cta a{display:inline-block;margin-top:15px;padding-bottom:2px;font-size:12px;color:var(--ink);
  border-bottom:1px solid var(--line);transition:border-color .15s}
.tool-cta a:hover{border-bottom-color:var(--sage)}
.tool-note{font-size:10.5px;line-height:1.75;color:var(--muted);margin:24px 0 0;max-width:540px}
@media(min-width:900px){.words{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}}
@media(max-width:760px){
  .tool{padding:32px 0 64px}
  .tool-bar{gap:16px;margin-top:24px}
  .wword{font-size:19px}
  .wex span{display:block;margin:2px 0 0}
}
@media(max-width:430px){
  .tool-cats{gap:8px 15px}.tool-cats button{font-size:11px}
  .tool-cats span{display:none}
  .voice select{max-width:150px;font-size:11px}
}
/* RTL 界面语言（ar/fa）：整页按 RTL，但 850 张词卡是纯英文，局部改回 LTR。
   混排的标签与计数各自 isolate，避免阿拉伯语和数字/拉丁词互相拆散。 */
html[dir="rtl"] .words,html[dir="rtl"] .wrow{direction:ltr;text-align:left}
html[dir="rtl"] .wsyn b{direction:rtl;unicode-bidi:isolate;display:inline-block;
  margin-right:9px;margin-left:0}
html[dir="rtl"] .tool-cats button{direction:rtl;unicode-bidi:isolate}
html[dir="rtl"] .tool-cats span{margin-left:0;margin-right:6px}
html[dir="rtl"] .tool-cats span,html[dir="rtl"] .widx,
html[dir="rtl"] .wword,html[dir="rtl"] .wipa{direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] .search input{direction:ltr;text-align:left}
html[dir="rtl"] .voice select{direction:rtl;unicode-bidi:isolate}
