.layout-toolbar{display:flex;align-items:center;gap:12px;width:100%;min-width:0}
.layout-toolbar>.btn.layout-toggle{flex:0 0 48px;width:48px;min-width:48px;min-height:48px;border-color:var(--line);color:var(--gold,var(--accent));padding:8px}
.layout-keyboard{flex:1;min-width:0}
.layout-key-row{display:flex;justify-content:center;gap:3px;margin:4px 0}
.layout-key{flex:0 1 28px;min-width:0;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;color:var(--muted);font:11px var(--font,system-ui);background:var(--surface,var(--panel))}
.layout-key.used{background:#bccbfa15}
/* The entry shelf owns the available width; keep equal key widths and centered
   shorter rows instead of stretching the single Ё key across the whole shelf. */
.entry .keyboard-shelf #entry-keyboard .layout-keyboard{width:100%;max-width:none;margin:0;container-type:inline-size}
.entry .keyboard-shelf #entry-keyboard .layout-key{flex:0 0 calc((100% - 33px)/12);padding:0;font-size:clamp(10px,2.5cqw,15px)}
.entry .keyboard-shelf #entry-keyboard .layout-keyboard:lang(en) .layout-key{
 flex-basis:calc((100% - 27px)/10);
}
.entry .keyboard-shelf #entry-keyboard-toggle{border:1px solid var(--entry-border);border-radius:10px;background:var(--panel);color:var(--muted);box-shadow:none}
.entry .keyboard-shelf #entry-keyboard-toggle:hover{background:var(--surface,var(--panel));border-color:var(--muted)}
.entry .keyboard-shelf #entry-keyboard-toggle:active{background:var(--panel);transform:translateY(1px)}
.entry .keyboard-shelf #entry-keyboard-toggle .keyboard-fold-art{background:var(--muted);filter:none;opacity:.85}
@media(max-width:420px){.layout-toolbar{gap:8px}.layout-key-row{gap:2px}.layout-key{font-size:9px;height:24px}}

.japanese-keyboard{max-width:440px;margin-inline:auto}
.kana-controls{display:flex;align-items:center;gap:4px;margin-bottom:6px}
.kana-controls>.btn.kana-control{min-width:48px;min-height:48px;padding:5px 8px;font-size:12px}
.kana-controls>.btn.kana-control:first-child{flex:1}
.kana-page{font-size:11px;color:var(--muted);text-align:center;min-width:24px}
.kana-key-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-height:100px}
.kana-key-grid>.btn.kana-key{width:100%;min-width:0;min-height:48px;height:48px;padding:0;font-size:18px;border-radius:var(--radius-sm,8px)}
.layout-toolbar:has(.japanese-keyboard){flex-wrap:wrap;gap:6px}
.layout-toolbar:has(.japanese-keyboard)>.japanese-keyboard{flex-basis:100%;order:2}
.layout-toolbar:has(.japanese-keyboard)>.layout-toggle{margin-left:auto}

/* Keep the entry language control stationary across RU, EN and the taller JP guide. */
#entry-keyboard .layout-toolbar{position:relative;padding-right:74px;min-height:154px;box-sizing:border-box;flex-wrap:nowrap}
#entry-keyboard .layout-toolbar>.btn.layout-toggle{position:absolute;right:0;top:0;height:48px;margin:0}
#entry-keyboard .layout-toolbar>.japanese-keyboard{flex-basis:auto;order:0}

.kana-controls{flex-wrap:wrap}.kana-controls .btn[aria-pressed=true]{border-color:var(--accent);background:#bdd6fa22}

@media(orientation:landscape) and (max-height:500px){
 .entry .entry-console:has(.japanese-keyboard){padding-block:4px;gap:2px;align-content:center}
 .entry .entry-console:has(.japanese-keyboard) .entry-field-heading{margin-bottom:0}
 .entry .entry-console:has(.japanese-keyboard) .kana-controls{margin-bottom:4px}
}
