/* claviers virtuels (autres langues): assets/langkb.js. Reuses the global .seg .tg .k .kr .kbd .signs .trust .kb-* rules of style.css. */
@font-face{font-family:"Noto Sans Tifinagh";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/tifinagh.woff2) format("woff2");unicode-range:U+2D30-2D7F}
.lk-tool{--lk-font:var(--ui);display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);padding:14px}
/* CJK: system fonts (no download); the textarea lang attribute picks the right regional glyphs */
.lk-f-latin{--lk-font:var(--ui)}
.lk-f-cyr,.lk-f-greek{--lk-font:"Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,sans-serif}
.lk-f-hebrew{--lk-font:"Segoe UI",Arial,"Noto Sans Hebrew","Arial Hebrew",sans-serif}
.lk-f-arab{--lk-font:var(--arab)}
.lk-f-tifi{--lk-font:"Noto Sans Tifinagh",Ebrima,var(--ui)}
.lk-f-cjk{--lk-font:system-ui,"Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,"PingFang SC","Microsoft YaHei","Malgun Gothic","Apple SD Gothic Neo","Noto Sans CJK JP","Noto Sans CJK SC","Noto Sans CJK KR",sans-serif}
.lk-tool textarea{width:100%;min-height:150px;resize:vertical;font:500 26px/1.6 var(--lk-font);color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:16px;padding:14px 18px}
.lk-tool textarea[dir=rtl]{text-align:right}
.lk-tool textarea:focus{outline:none;border-color:var(--acc)}
.lk-tool .k .lk-c{font:500 22px/1 var(--lk-font)}
.lk-tool .k:disabled{opacity:.35;cursor:default}
.lk-tool .k.dead .lk-c{color:var(--ochre)}
.lk-tool .k.altgr[aria-pressed=true]{background:var(--ochre-soft);border-color:var(--ochre)}
.lk-tool .signs button{font:500 22px/1 var(--lk-font);padding:0 6px}
.lk-tool .signs button.lk-small{font-size:13px;font-family:var(--ui);font-weight:700}
.lk-tool .signs[hidden]{display:none}
.lk-tool .signs.lk-kana div{gap:4px}
.lk-tool .signs.lk-kana button{min-width:40px}
.lk-tool .signs.lk-tones button{font-family:var(--ui);font-size:16px;font-weight:800}
.lk-cand{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:48px;background:var(--soft2);border-radius:14px;padding:6px 10px}
.lk-cand[hidden]{display:none}
.lk-cand-l{font-size:14px;color:var(--muted)}
.lk-cand-b{position:relative;min-width:46px;min-height:46px;border:1px solid var(--key-edge);background:var(--key);border-radius:10px;cursor:pointer;color:var(--ink);font:500 26px/1 var(--lk-font);padding:0 6px}
.lk-cand-b small{position:absolute;top:2px;left:4px;font:700 10px/1 var(--ui);color:var(--key-hint)}
.lk-cand-b:hover{background:var(--acc-soft)}
.lk-tool .kb-actions button{font:inherit;font-size:14px;font-weight:700;border:0;cursor:pointer;color:var(--ink);background:var(--soft2);border-radius:10px;padding:9px 13px;min-height:40px;line-height:1.2}
.lk-tool .kb-actions button.pri{background:var(--acc);color:var(--acc-ink)}
.lk-tool .kb-actions button.pri:hover{background:var(--acc-dark)}
.lk-tool .k.space{flex:1 1 60%}
.lk-tool .k.altgr{flex:0 0 auto;padding:0 14px}
.lk-tool .signs.lk-kana{flex-direction:column;align-items:stretch}
.lk-tool .signs.lk-kana>div{display:flex;flex-direction:column;gap:5px}
.lk-tool .signs.lk-kana .lk-kr{display:flex;flex-wrap:wrap;gap:5px}
@media (max-width:560px){.lk-tool{padding:10px;border-radius:16px}.lk-tool textarea{font-size:22px}.lk-tool .kr{gap:3px}.lk-tool .k{min-width:0;flex-basis:20px;min-height:44px}.lk-tool .k .lk-c{font-size:17px}.lk-tool .k .lat{left:3px;font-size:9px}.lk-tool .k.wide{flex-basis:34px;font-size:15px}.lk-tool .signs.lk-kana button{min-width:36px;min-height:38px}}
@media (max-width:700px){.lk-tool textarea{min-height:110px}.lk-tool .lk-cand{order:1}.lk-tool .kb-actions{order:2}.lk-tool .kb-status{order:3}.lk-tool .kb-pad{order:4}.lk-tool .trust{order:5}}
/* keyboard fit (owner 10-28): same rules as .kb-tool in style.css */
.lk-tool textarea{min-height:100px;height:110px}
@media (max-width:700px){
  .lk-tool{padding:8px;gap:8px}
  .lk-tool .kb-status{order:1}.lk-tool .kb-pad{order:2}.lk-tool .kb-actions{order:3}.lk-tool .only{order:4}.lk-tool .trust{order:5}
  .lk-tool textarea{min-height:80px;height:88px;font-size:22px;padding:10px 12px}
  .lk-tool .k .lk-c{font-size:clamp(14px,4.6vw,20px)}
}
@media (min-width:701px){
  .lk-tool{gap:8px}
}
