.language-dialog{width:min(440px,calc(100vw - 40px));}
.language-dialog h2{font-size:1.5rem;}
.language-dialog fieldset{border:0;padding:0;margin:20px 0;min-width:0;}
.language-dialog legend{font-weight:900;margin-bottom:10px;}
.language-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.language-options button{padding:12px 4px;border:3px solid #111;background:#fff;color:#111;font:inherit;font-size:.9rem;font-weight:900;box-shadow:4px 4px 0 #111;cursor:pointer;}
.language-options button[aria-pressed="true"]{background:#ffd700;transform:translate(2px,2px);box-shadow:2px 2px 0 #111;}
.language-options button:hover{background:#25f4ee;}
.language-options button:focus-visible{outline:3px solid #fe2c55;outline-offset:4px;}
.language-dialog #language-preview-note{font-size:.85rem;}
.home-left-shortcuts{position:absolute;left:0;top:0;display:flex;gap:7px;z-index:10;}
.language-switch{font-size:.65rem!important;padding:3px!important;background:#25f4ee!important;color:#111!important;font-weight:900;}
@media(max-width:600px){.home-left-shortcuts{gap:5px}.home-left-shortcuts .icon-link{width:30px;height:30px;min-width:30px;min-height:30px}.language-dialog h2{font-size:1.25rem}.language-options{gap:7px}.language-options button{font-size:.8rem}#start-screen .home-header .brand{max-width:calc(100% - 144px)}}
/* Keep the picker readable even when the shared dialog styles change. */
#language-dialog{box-sizing:border-box;padding:26px 24px;border:4px solid #111;box-shadow:7px 7px 0 #ff69b4;}
#language-dialog h2{color:#111;background:#25f4ee;border:3px solid #111;font-size:1.5rem;padding:10px 16px;}
#language-dialog .subtitle{color:#111;background:#ffd700;border:3px solid #111;font-size:1rem;}
#language-dialog legend{text-align:left;font-size:1rem;}
#language-dialog .language-options button{border-radius:6px;min-height:48px;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.2;}
#language-dialog .language-options button[aria-pressed="true"]::after{content:' ✓';}
#language-dialog #language-continue{color:#111;background:#ffd700;border:3px solid #111;box-shadow:4px 4px 0 #111;width:100%;font-size:1rem;padding:12px 16px;}
#language-dialog{position:fixed;inset:50% auto auto 50%;margin:0;height:min(660px,calc(100dvh - 40px));transform:translate(-50%,-50%);animation:none;transition:none;}
#language-dialog h2,#language-dialog .subtitle,#language-dialog button{transform:none;transition:none;animation:none;}
#language-dialog .language-options button:disabled{background:#ddd;color:#555;cursor:not-allowed;box-shadow:4px 4px 0 #111;}
#language-dialog .language-options button[aria-pressed="true"]{transform:none;box-shadow:4px 4px 0 #111;}
@media(max-width:600px){
 #language-dialog{width:calc(100vw - 40px);max-height:calc(100dvh - 40px);padding:20px 18px;}
 #language-dialog h2{font-size:1.25rem;margin-bottom:14px;}
 #language-dialog .subtitle{font-size:.85rem;margin-bottom:12px;}
 #language-dialog fieldset{margin:14px 0 18px;}
 #language-dialog .language-options{grid-template-columns:minmax(0,1fr);gap:9px;}
 #language-dialog .language-options button{font-size:1rem;padding:10px 16px;text-align:left;min-height:46px;}
 #language-dialog #language-preview-note{font-size:.8rem;line-height:1.4;margin-bottom:14px;}
 #language-dialog #language-error:empty{display:none;}
}

.language-switch{background:#ffa500!important}
.games-link{background:#ff69b4!important;color:#111!important}
.home-menu-toggle{display:none}
.home-menu-links{display:flex;gap:7px}
.home-menu-caption{display:none}
@media(max-width:600px){
 body #start-screen .home-header .brand{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;max-width:100%;margin:0;transform:none}
}
@media(max-width:1099px){
 #start-screen .home-left-shortcuts.menu-open .home-menu-links{width:72px;overflow:visible;max-height:none;gap:12px}
 #start-screen .home-left-shortcuts .home-menu-links .icon-link,.home-menu-links #btn-vault{position:relative;width:44px;height:44px;min-height:44px;min-width:44px;justify-content:center;padding:4px!important}
 .home-menu-links .home-menu-caption{display:none!important}
 .home-menu-links .saved-menu-icon{background:#25d366;color:#111;font-size:25px}
 .home-menu-links [data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);translate:none;width:max-content;max-width:180px;padding:6px 9px;background:#ffd700;color:#111;border:2px solid #111;border-radius:6px;box-shadow:3px 3px 0 #ff69b4;font-size:12px;font-weight:900;z-index:110;pointer-events:none;opacity:0;visibility:hidden}
 .home-menu-links [data-tooltip]:hover::after,.home-menu-links [data-tooltip]:focus-visible::after,.home-menu-links .menu-label-visible::after{opacity:1;visibility:visible}
}
@media(max-width:1099px){
 .home-menu-toggle{display:flex;font-size:23px;background:#ffd700}
 .home-menu-links{display:none;position:absolute;top:calc(100% + 12px);left:0;padding:12px;gap:12px;background:#111;border:3px solid #fff;border-radius:12px;box-shadow:5px 5px 0 #ff69b4;z-index:100}
 .home-left-shortcuts.menu-open{z-index:100}
 .home-left-shortcuts.menu-open .home-menu-links{display:flex;flex-direction:column;align-items:stretch;width:210px;max-width:calc(100vw - 40px);max-height:70dvh;overflow-y:auto}
 .home-left-shortcuts .home-menu-links .icon-link{width:100%;height:auto;min-width:0;min-height:44px;justify-content:flex-start;gap:10px;padding:7px 10px!important;transform:none}
 .home-menu-links .home-menu-caption{display:inline;font-size:13px;font-weight:900}
 .home-menu-links svg{flex-shrink:0;width:24px;height:24px}
 #start-screen .home-menu-links #btn-correct-words{width:100%;align-self:stretch;min-height:44px;text-align:left;transform:none}
}

/* Match the welcome card's compact rhythm without shrinking touch targets. */
#language-dialog{height:auto;max-height:85dvh;width:min(440px,calc(100vw - 40px));padding:22px 18px;overflow-y:auto;background:var(--bg);color:var(--text)}
#language-dialog h2{font-size:20px;line-height:1.15;padding:7px 10px;margin:0 0 14px}
#language-dialog .subtitle{font-size:14px;line-height:1.4;padding:5px 8px;margin:0 0 14px}
#language-dialog fieldset{margin:14px 0 18px}
#language-dialog legend{font-size:14px;margin-bottom:8px}
#language-dialog .language-options button{font-size:14px;padding:8px 12px;min-height:44px}
#language-dialog #language-preview-note{font-size:13px;line-height:1.4;margin:0 0 14px}
#language-dialog #language-error:empty{display:none}
#language-dialog #language-continue{font-size:15px;padding:10px 14px;min-height:44px}

/* Use the same raised cards and colored labels as the welcome dialog. */
#language-dialog{border-color:var(--text);border-radius:20px;box-shadow:8px 8px 0 var(--cyan)}
#language-dialog h2{border:2px solid var(--text);border-radius:14px;box-shadow:4px 4px 0 var(--text);transform:rotate(-2deg)}
#language-dialog .subtitle{background:var(--red);border:2px solid var(--text);border-radius:10px;box-shadow:4px 4px 0 var(--text);transform:rotate(1deg)}
#language-dialog .language-options{gap:12px}
#language-dialog .language-options button{background:var(--surface);color:var(--text);border:2px solid var(--text);border-radius:12px;box-shadow:4px 4px 0 var(--cyan)}
#language-dialog .language-options button[aria-pressed="true"]{background:var(--yellow);color:#111;box-shadow:4px 4px 0 var(--text)}
#language-dialog #language-continue{background:var(--cyan);border:3px solid var(--text);border-radius:12px;box-shadow:4px 4px 0 var(--text);transform:rotate(1deg)}
@media(hover:hover){
 #language-dialog .language-options button:hover{transform:translateY(-2px);box-shadow:6px 6px 0 var(--cyan)}
}
