/* Language button sits at the left of the existing quick menu (reference red circle). */
#hud .top-actions .language-toggle{flex:none;width:3.5rem;min-width:44px;height:3.5rem;min-height:44px;padding:0!important;overflow:hidden;position:relative;border-radius:50%!important;touch-action:manipulation}
.language-toggle .language-art{display:block;position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit;pointer-events:none}
.language-toggle img{position:absolute;width:125%;height:125%;max-width:none;left:-12.5%;top:-12.5%;object-fit:cover;opacity:0}
.language-toggle.art-ready img{opacity:1}
.language-toggle .language-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:1.2rem;font-weight:900;color:#28a69e;background:#faf8ed}
.language-toggle.art-ready .language-fallback{visibility:hidden}
#language-overlay{display:none;position:fixed;z-index:10000;left:50%;top:max(.65rem,env(safe-area-inset-top));transform:translateX(-50%);width:44px;height:44px;min-width:44px;min-height:44px;padding:0!important;border-radius:50%!important;overflow:hidden}
body:not(.playing) #language-overlay,body.in-room #language-overlay,body.in-arcade #language-overlay,body.in-ring-dialog #language-overlay,body.reading-finale #language-overlay,body.choosing-pet #language-overlay,body:has(#map-panel:not(.hidden)) #language-overlay,body:has(#album-panel:not(.hidden)) #language-overlay,body:has(#blind-panel:not(.hidden)) #language-overlay{display:block}
body:has(.pet-match:not(.hidden)) #language-overlay{left:auto;right:4.75rem;transform:none}
/* In rooms the shared button participates in layout beside Back, never above text. */
#rooms-ui .room-head-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0;pointer-events:auto}
body.in-room #language-overlay{position:relative;inset:auto;transform:none;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;pointer-events:auto}
#rooms-ui .room-head{top:max(2vh,env(safe-area-inset-top));flex-wrap:wrap}
#rooms-ui .room-heading{min-width:0}
#rooms-ui .room-head-actions #room-exit{white-space:nowrap}
@media(max-aspect-ratio:4/5){
 #rooms-ui .room-head-actions{gap:.6rem;margin-left:auto}
 #rooms-ui .room-heading{flex:1 1 9rem}
 #rooms-ui .room-owners{flex-basis:100%}
}
html[lang=en] button,html[lang=en] small{letter-spacing:0!important}
html[lang=en] #hud h1{letter-spacing:.01em;font-size:1.15rem}
html[lang=en] #hud .top-actions{max-width:75vw;gap:.4rem}
html[lang=en] #hud .top-actions button{font-size:.7rem;padding-inline:.65rem;white-space:normal}
html[lang=en] #hud .brand{min-width:12rem}
html[lang=en] #hud #summon b{white-space:normal}
html[lang=en] #friend-chat{width:min(28rem,85vw)}
html[lang=en] .friend-cloud p{font-size:.87rem;line-height:1.45}
html[lang=en] .wheel-center span{font-size:.6rem;line-height:1.3}
html[lang=en] .pet-choice>span:not(.pet-portrait){font-size:.74rem}
html[lang=en] #start .welcome h2{font-size:clamp(2rem,4.4vw,4.8rem);line-height:1.08}
html[lang=en] #start .home-kicker{letter-spacing:0;font-size:.7rem}
html[lang=en] #start .pet-caption p{font-size:.62rem;line-height:1.25}
html[lang=en] #start .pet-tag{font-size:.58rem}
html[lang=en] .arcade-choices small,html[lang=en] .ring-card p{line-height:1.45}
html[lang=en] .finale-message{font-size:clamp(.95rem,1.65vw,1.25rem);line-height:1.65}
html[lang=en] .finale-signoff{font-size:.95rem;line-height:1.5}
html[lang=en] #rooms-ui .room-catalog button{line-height:1.2;font-size:.72rem}
html[lang=en] .blind-milestones time{font-size:.62rem}
@media(max-aspect-ratio:4/5){
 #hud .top-actions .language-toggle{position:fixed;left:calc(3vw + 54px);top:calc(2dvh + 9rem);width:44px;height:44px}
 #hud .top-actions #rooms{grid-column:1;grid-row:1}#hud .top-actions #perspective{grid-column:2;grid-row:1}#hud .top-actions #overview{grid-column:1;grid-row:2}
 html[lang=en] #hud .top-actions{max-width:46vw;gap:.4rem}
 html[lang=en] #hud .top-actions button{padding:.35rem .2rem;font-size:.63rem;line-height:1.15;display:flex;align-items:center;justify-content:center}
 html[lang=en] #hud .top-actions button::before{flex-shrink:0;width:1rem;height:1rem}
 html[lang=en] #hud .brand{min-width:0}html[lang=en] #hud h1{font-size:1rem}
 html[lang=en] #hud #view-tools{max-width:60vw}html[lang=en] #hud #view-tools #view-reset{font-size:.65rem}
 html[lang=en] #hud #zoom-hint{font-size:.55rem}
 html[lang=en] #hud #summon,html[lang=en] #hud #celebrate{max-width:44vw;min-width:0}
 html[lang=en] #start .welcome h2{font-size:clamp(1.7rem,6.5vw,2.5rem)}
 html[lang=en] #start .home-kicker{font-size:.62rem}
 html[lang=en] .wheel-center b{font-size:1rem}html[lang=en] .wheel-center span{font-size:.57rem}
 html[lang=en] .finale-message{font-size:.95rem;line-height:1.5}html[lang=en] .finale-tag{font-size:.8rem}
 html[lang=en] .run-title h1{font-size:clamp(1.9rem,7vw,3rem);letter-spacing:.015em;line-height:1.15;padding-inline:.4rem}html[lang=en] .run-title p{font-size:1rem;letter-spacing:.035em}html[lang=en] .run-title small{font-size:.72rem}
 html[lang=en] .run-cards b,html[lang=en] .jump-pets b{font-size:.77rem}html[lang=en] .run-cards small,html[lang=en] .jump-pets small{font-size:.61rem}
}
