/* Personal language controls: compact on phones, explicit labels at every size. */
.translate-control{width:40px;min-width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--muted)}
.translate-control svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.translate-control.is-on{background:var(--ink);color:var(--surface)}
.speak-to-type{flex-shrink:0;min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border-radius:16px;color:var(--muted);font-size:.72rem;line-height:1.15}
.speak-to-type svg{width:18px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;flex-shrink:0}
.speak-to-type span{max-width:66px;text-align:left}
.speak-to-type.is-listening{background:#9c392416;color:#9c3924}
.language-tool-status{font-size:.72rem;color:var(--muted);padding:0 8px;line-height:1.4;flex-shrink:0;margin:0}
.msg-translation{border-top:1px solid var(--rule);margin-top:9px;padding-top:8px}
.msg-translation small{display:block;color:var(--muted);font-size:.65rem;margin-bottom:4px}
.msg-translation p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9375rem;user-select:text;margin:0}
.language-menu{position:fixed;margin:auto;width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--rule);border-radius:24px;background:var(--surface);color:var(--ink);box-shadow:0 20px 80px #17151a30}
.language-menu::backdrop{background:#17151a66}
.language-menu h2{font-family:var(--serif);font-size:1.65rem;margin:0 0 20px}
.language-menu label{display:block;font-size:.8rem;margin-bottom:8px}
.language-menu select{display:block;width:100%;font:inherit;font-size:1rem;padding:12px;border:1px solid var(--rule);border-radius:12px;background:var(--paper);color:var(--ink)}
.language-menu p{font-size:.8rem;line-height:1.5;color:var(--muted);margin:14px 0}
.language-menu-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.language-menu-actions button{padding:10px 13px;min-height:44px;border-radius:12px;font-size:.8rem}
.language-menu-actions button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:520px){.composer{gap:4px;padding-left:10px}.composer textarea{min-width:0;width:0;flex:1}.speak-to-type{padding:6px;gap:4px;max-width:89px}.speak-to-type span{max-width:55px;font-size:.66rem}.stage-room .stage-top{gap:4px;padding-left:7px;padding-right:7px}.stage-room .room-heading{gap:5px}.stage-room .room-heading>span{font-size:.65rem}.translate-control{width:36px;min-width:36px}.stage-room .room-code{font-size:1.05rem;letter-spacing:.08em}}
